Domanda Bash

Valerio Pachera sirio81@gmail.com
Lun 1 Ago 2005 13:45:30 CEST


Il 31/07/05, Filippi Stefano<stefano63@gmail.com> ha scritto:
> Ciao a tutti, io proverei con un bel ls -d [^.txt]* dovrebbe elencare tutti
> i file che non hanno l'estensione .txt

No, credo che scritto cos' elenchi tutti i file che INIZIANO con .txt.
un espressione del titpo
touch file[123].txt
viene espansa in
file1.txt
file2.txt
file3.txt 
Quindi, i valori fra parentesi quadre si riferiscono ad un singolo carattere.
Le parentesi quadre accettano l' operatore NOT.
ls -d *[!2].txt
mostra file1.txt file3.txt ma non file2.txt
ls -d *[!txt] 
mostra tutti i file che non finiscono per t o per x.
Non risolve quindi il dilemma.


mkdir /home/{pipoo,pluto,minni}
crea le directory
/home/pippo
/home/pluto
/home/minni
A differenza di prima, le espressioni fra parentesi sono separate da
virgole e sono viste come stringhe.
ls -d *.{txt,srt}
mostra solo i file con le 2 estensioni fra parentesi.
L' operatore NOT ! non viene accettato.

Morale, non sappiamo ancora come visualizzare i file che non hanno una
certa estensione.
 !*.txt
credo non abbia significato perchè:
l' aterisco da solo si espande in tutte le sequenze di caratteri
possibile, anche nessuno;
preceduto dall' ateristico significherebbe il contrario quindi non ci
sarà mai una corrispondenza.


Maggiori informazioni sulla lista linuxludus