PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem bei Bash



Haniball
03-07-2011, 13:05
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

Haniball
03-07-2011, 14:12
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