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