-
Problem bei Bash
Hi,
ich bin nicht so erfahren mit bash und habe nun ein Problem beim erstellen einiger Skripte. Das eine soll ein Dateiverzeichnis auflisten. Dabei soll unterschieden werden, ob es sich jedem Eintrag um eine Datei, oder ein Verzeichnis handelt. Ich habe bereits folgendes gemacht:
#!/bin/bash
if [ $# -eq 1 ] #genau ein Argument (Verzeichnisname) muss übergeben werden
then
if [ -d $1 ] # wenn das Arg ein Verzeichnis ist, weitermachen
then
ls -l | grep '^-' > liste.txt # jeder Eintrag, der eine Datei ist, in liste.txt schreiben
ls -l | grep '^d' > liste.txt # jeder Eintrag, der ein Verz ist, in liste.txt schreiben
fi
fi
wie bekomme ich es hin in jeder Zeile vorne oder hinten zu schreiben, ob es sich um ein Verzeichnis, oder Datei handelt?
Grüße,
Haniball
-
Gelöst
Habe eine akzeptable Lösung gefunden:
#!/bin/bash
if [ $# -eq 1 ]
then
if [ -d $1 ]
then
rm liste.txt
touch liste.txt
ls -l $1 | grep '^-' | sed -e "s/^-/File /g" >> liste.txt
ls -l $1 | grep '^d' | sed -e "s/^d/Directory /g" >> liste.txt
fi
more liste.txt
fi
Geändert von Haniball (03-07-2011 um 14:25 Uhr)
Stichworte
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen