Saya memiliki urutan file tertentu yang ingin saya daftarkan jika ada; sekitar 40 file. Beberapa jenis prioritas. Jadi saya mencoba:
ls -1d /opt/foo/lib.jar /opt/bar/lib.jar
Saya berharap ini mencantumkan /opt/foo/lib.jar
pertama jika keduanya ada.
Tapi sebenarnya itu mencetak bar
pertama dan foo
setelah itu.
Apakah ada cara untuk membuat ls
daftar entri dalam urutan yang diberikan dalam parameter?
Atau beberapa pendekatan alternatif dengan find
?
Jawaban yang Diterima:
Dengan GNU ls
, Anda dapat mencoba -U
pilihan:
-U
:tidak mengurutkan; daftar entri dalam urutan direktori
(meskipun di sini, kami tidak mencantumkan konten direktori, jadi bagian yang penting adalah jangan urutkan ).
$ ls -1dU /opt/foo/lib.jar /opt/bar/lib.jar
/opt/foo/lib.jar
/opt/bar/lib.jar
Sedikit lebih portabel (berfungsi dengan GNU dan FreeBSD ls
, tetapi tidak dengan ls
traditional tradisional implementasi dan juga bukan POSIX), Anda dapat menggunakan ls -1df
:
$ ls -1df /opt/foo/lib.jar /opt/bar/lib.jar
/opt/foo/lib.jar
/opt/bar/lib.jar