[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: ls | grep



Am Samstag, 7. Januar 2006 13:24 schrieb Rüdiger Noack:
> Al Bogner wrote:
> > Find geht aber in diesem Fall auch in die Tiefe, _darunter_ liegende
> > Verzeichnisse sollen nicht mehr gelistet werden.
>
> find -maxdepth 0

Ich brauche 1

Ich habe da noch ein Problem:


ls -l
insgesamt 0
drwxr-xr-x 3 ab ab 16 2006-01-07 13:50 a
drwxr-xr-x 2 ab ab  6 2006-01-07 13:49 a_1
drwxr-xr-x 2 ab ab  6 2006-01-07 13:49 a_2
drwxr-xr-x 2 ab ab  6 2006-01-07 13:52 a_cd
drwxr-xr-x 2 ab ab  6 2006-01-07 13:52 a_ef
drwxr-xr-x 2 ab ab  6 2006-01-07 13:51 a_kb
-rw-r--r-- 1 ab ab  0 2006-01-07 13:49 datei


find -maxdepth 1 ! -regex ".*_[1|2]$" -type d
.
./a
./a_kb
./a_cd
./a_ef


Ich will damit eine Variable definieren und eine Schleife durchlaufen lassen. 
Den Punkt bzw. "./" kann ich nicht brauchen. Brauche ich da noch eine Pipe 
mit sed um das durch nichts zu ersetzen? Das sieht zumindest nach nicht 
einfachem Quoting aus.

Also etwa so:
var=`find .. | sed ..`
for INP in $var`; do
..

Warum funktioniert das nicht:

.find -maxdepth 1 ! -regex ".*_[cd|ef]$" -type d
.
./a_1
./a_2
./a
./a_kb
./a_cd
./a_ef

./a_cd und ./a_ef werden angezeigt.


Ich verstehe noch immer nicht, warum man das mit ls und dann mit einer Pipe 
mit (e)grep nicht auch lösen kann. Letztlich ist es mir aber egal, Hauptsache 
es passt.

Al



Reply to: