strathmore
Goto Top

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.

#!/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

Content-ID: 114682

Url: https://administrator.de/tutorial/lsfile-lsdir-114682.html

Ausgedruckt am: 25.12.2024 um 01:12 Uhr