Ho un ordine specifico di file che voglio elencare se esistono; circa 40 file. Una specie di precedenza. Quindi ho provato:
ls -1d /opt/foo/lib.jar /opt/bar/lib.jar
Mi aspettavo che questo elencasse /opt/foo/lib.jar prima se esistono entrambi.
Ma in realtà stampa la bar prima e il foo dopo.
C'è un modo per creare ls elencare le voci nell'ordine indicato nei parametri?
O qualche approccio alternativo con find ?
Risposta accettata:
Con GNU ls , potresti provare -U opzione:
-U :non ordinare; elenca le voci in ordine di directory
(anche se qui non stiamo elencando il contenuto delle directory, quindi la parte che conta è non ordinare ).
$ ls -1dU /opt/foo/lib.jar /opt/bar/lib.jar
/opt/foo/lib.jar
/opt/bar/lib.jar
Leggermente più portabile (funziona con GNU e FreeBSD ls , ma non con i tradizionali ls implementazioni e non è neanche POSIX), puoi usare ls -1df :
$ ls -1df /opt/foo/lib.jar /opt/bar/lib.jar
/opt/foo/lib.jar
/opt/bar/lib.jar