Jadi saya tahu parsing ls buruk!.
Hari ini saya menemukan nugget ini:
FILENAME=`ls -t $READ_FOLDER | head -1`
Jadi saya percaya awalnya ini dirancang untuk mengambil nama file terbaru, saya sebenarnya sekarang ingin mengadaptasinya, untuk mengambil mungkin 5 file terbaru karena proses yang memeriksanya agak lambat, jadi kami tidak dapat memastikan bahwa file tersebut telah diproses.
Saya bekerja di bash, tetapi tidak menentang solusi umum sh juga.
Jawaban yang Diterima:
Anda dapat menggunakan GNU find
untuk membuat daftar file dengan waktu modifikasi yang dinyatakan sebagai waktu epoch, lalu gunakan sort
untuk mengurutkan daftar, akhirnya head
dan tail
untuk mendapatkan nama file bernomor yang diinginkan :
find . -maxdepth 1 -type f -printf '%[email protected] %pn' | sort -k1,1nr | head -5 | tail -1
Linux – Lxc; Menyebarkan Gambar Dengan X11 Terkecil Mungkin?
Apakah Mungkin Menjalankan 'unshare -n [program]' Sebagai Pengguna yang Tidak Memiliki Hak Istimewa?