Ho file a1 a2 a3 b1 b2 b3 e ho bisogno di escludere a2 e b2 dall'elenco utilizzando solo il comando ls
.UNIX comando 'ls' esclude carattere jolly
risposta
Prova questo:
$ ls [a-b][13]
a1 a3 b1 b3
O
$ shopt -s extglob
$ ls !(*2)
a1 a3 b1 b3
Basta elencare i file che si desidera:
ls a1 a3 b1 b3
+1 in quanto questo è l'unico modo per soddisfare il vincolo "utilizzando solo ls". Qualsiasi tentativo di manipolare la lista degli argomenti usando i globi di shell sta usando la shell. (Sebbene tu usi la shell per eseguire ls, quindi forse quel particolare vincolo è mal posto). –
@WilliamPursell, i miei pensieri esattamente. –
Prova con ls e grep
ls -1 | grep -viw "a2\|b2"
Prestare attenzione dopo ls una put 1 (il numero uno) e non la lettera "l". A volte il carattere li rende confusi.
opzione uso --ignore
ls --ignore=[ab]2
Ma su quale versione di 'ls' funziona l'opzione' --ignore'? Sul mio MAC non esiste. – dash1e
GNU Coreutils 8.5 – bouzuya
Sto usando Fefora13 se aiuta. – user1078719
Quando digito ls --ignore = "* 2", ma funziona (supponendo che abbia altri file) quando digito ls -a * -b * --ignore = "* 2", nessun file è escluso – user1078719