lsfile lsdir
Oft hörte ich die Frage: "Wie kann man sich in einem Verzeichnis nur die Unterverzeichnisse oder nur Dateien anzeigen lassen?" Wenn man sich im Verzeichnis /etc befindet ist diese Frage durchaus berechtigt. Finde ich. Daher habe ich 2 Shellskripte geschrieben, sie sind um das FHS zu wahren, ins Verzeichnis /usr/local/bin zu kopieren. Und um die Lösung nicht nur für mich zu behalten gebe ich sie gerne weiter.
Anmerkung: Der aufmerksame Benutzer wird schnell feststellen, dass sich die beiden Skripte nur geringfügig unterscheiden. Doch hielt ich es für besser zwei Skripte mit einem sprechenden Namen zu schreiben, als einen zusätzlichen Parameter einzufügen.
Gruß
Strathmore
#!/bin/bash
# file: lsdir
# Created by Strathmore
# Created 26.04.2009
declare filelist
declare fileoutput
declare file
filelist=$(ls $@)
fileoutput=""
for file in $filelist
do
[ -d "$file" ] && fileoutput="$fileoutput $file"
done
if [ -n "$fileoutput" ]
then
ls -d --color $@ $fileoutput
fi
#!/bin/bash
# file lsfile
# Created by Strathmore
# Created 26.04.2009
declare filelist
declare fileoutput
declare file
filelist=$(ls $@)
fileoutput=""
for file in $filelist
do
[ -f "$file" ] && fileoutput="$fileoutput $file"
done
if [ -n "$fileoutput" ]
then
ls --color $@ $fileoutput
fi
Anmerkung: Der aufmerksame Benutzer wird schnell feststellen, dass sich die beiden Skripte nur geringfügig unterscheiden. Doch hielt ich es für besser zwei Skripte mit einem sprechenden Namen zu schreiben, als einen zusätzlichen Parameter einzufügen.
Gruß
Strathmore
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 114682
Url: https://administrator.de/tutorial/lsfile-lsdir-114682.html
Ausgedruckt am: 25.12.2024 um 01:12 Uhr