GNU/Linux >> Znalost Linux >  >> Linux

Jak zabránit `ls` v třídění výstupu?

Mám specifické pořadí souborů, které chci vypsat, pokud existují; asi 40 souborů. Nějaký druh přednosti. Tak jsem to zkusil:

ls -1d         /opt/foo/lib.jar /opt/bar/lib.jar

Očekával jsem, že to bude seznam /opt/foo/lib.jar nejprve, pokud existují oba.
Ale ve skutečnosti vytiskne bar první a foo poté.

Existuje nějaký způsob, jak vytvořit ls seznam položek v pořadí uvedeném v parametrech?
Nebo nějaký alternativní přístup pomocí find ?

Přijatá odpověď:

S GNU ls , můžete zkusit -U možnost:

-U :neřadit; seznam položek v adresářovém pořadí

(i když zde neuvádíme obsah adresářů, takže důležitá část je neřadit ).

$ ls -1dU /opt/foo/lib.jar /opt/bar/lib.jar
/opt/foo/lib.jar
/opt/bar/lib.jar

Mírně přenosnější (funguje s GNU a FreeBSD ls , ale ne s tradičním ls implementací a není ani POSIX), můžete použít ls -1df :

$ ls -1df /opt/foo/lib.jar /opt/bar/lib.jar
/opt/foo/lib.jar
/opt/bar/lib.jar

Linux
  1. Jak vyhledávat na webu z terminálu v systému Linux

  2. Jak přiřadit výstup příkazu proměnné shellu?

  3. Jak zjistit, zda je Shell řízen z Ssh?

  1. Jak nastavit proměnnou rovnou výstupu z příkazu v Grub2?

  2. Jak zabránit uživatelům v přístupu ke kořenovému adresáři?

  3. Jak extrahovat dobu trvání z výstupu ffmpeg?

  1. Jak zajistit, aby „datum“ vydalo čas z jiného časového pásma?

  2. Jak interpretovat výstup netstat -o / netstat --times

  3. Jak zabránit procesu v zápisu souborů