Sfondo rapida:Bash For-loop sulla directory
$ ls src
file1 file2 dir1 dir2 dir3
Script:
#!/bin/bash
for i in src/* ; do
if [ -d "$i" ]; then
echo "$i"
fi
done
uscita:
src/dir1
src/dir2
src/dir3
Tuttavia, voglio che leggere:
dir1
dir2
dir3
Ora mi rendo conto che potrei sed/awk l'output per rimuovere "src /" tuttavia sono curioso di sapere se c'è un modo migliore per farlo. Forse usando invece find + while-loop.
vedo che hai aggiornato il tuo post per leggere * nome base * invece di * * dirname ding, ding, ding CORRETTO !!! : D Grazie, accetterò la tua risposta – BassKozz
Ho imparato questo nugget solo 2 giorni fa da un libro di O'Rielly. Avrei potuto risparmiarmi ore di stupidaggini se lo avessi saputo anni fa. – Synesso