Anda dapat mengambil kolom tertentu di shell seperti:
ls -al | while read perm bsize user group size month day time file; do echo $day; done
atau awk
seperti yang ditunjukkan dalam jawaban @Corey , cut -c44-45
juga akan berfungsi setelah penyesuaian (karena ls
memiliki kolom yang diperbaiki), atau apa pun yang lain, namun masalah utama adalah bahwa itu tidak dapat diandalkan dan antipeluru (mis. pada Unix mungkin $6
, tidak $7
, dan itu perubahan tergantung pada argumen) sehingga tidak ramah mesin karena itu tidak disarankan untuk mengurai ls
perintah sama sekali.
Yang terbaik adalah dengan menggunakan berbagai perintah yang tersedia seperti find
atau stat
, yang dapat memberikan opsi yang relevan untuk memformat output yang Anda butuhkan. Sebagai contoh:
$ stat -c "%x %n" *
2016-04-10 04:53:07.000000000 +0100 001.txt
2016-04-10 05:08:42.000000000 +0100 7c1c.txt
Untuk mengembalikan kolom modifikasi yang hanya beberapa hari, coba contoh ini:
stat -c "%x" * | while read ymd; do date --date="$ymd" "+%d"; done
Perlu dicatat bahwa GNU stat
dapat memiliki opsi yang berbeda untuk BSD stat
, sehingga GNU tidak akan tahan antipeluru pada sistem operasi yang berbeda.
ls
. Thefind
perintah sangat membantu.