คุณสามารถดึงข้อมูลคอลัมน์ที่ระบุในเชลล์เช่น:
ls -al | while read perm bsize user group size month day time file; do echo $day; done
หรือawkตามที่ปรากฏในคำตอบ @Corey , cut -c44-45นอกจากนี้ยังจะทำงานหลังจากที่ปรับตัว (ตั้งแต่lsได้กำหนดคอลัมน์) หรือสิ่งอื่น แต่ปัญหาหลักก็คือว่ามันจะไม่เป็นที่น่าเชื่อถือและกระสุน (เช่นบน Unix มันอาจจะ$6ไม่ได้$7และมัน การเปลี่ยนแปลงขึ้นอยู่กับข้อโต้แย้ง) ทำให้ไม่เหมาะสำหรับเครื่องไม่แนะนำให้แยกlsคำสั่งเลย
วิธีที่ดีที่สุดคือการใช้คำสั่งต่าง ๆ เช่นfindหรือstatซึ่งมีตัวเลือกที่เกี่ยวข้องเพื่อจัดรูปแบบเอาต์พุตตามที่คุณต้องการ ตัวอย่างเช่น:
$ stat -c "%x %n" *
2016-04-10 04:53:07.000000000 +0100 001.txt
2016-04-10 05:08:42.000000000 +0100 7c1c.txt
หากต้องการส่งคืนคอลัมน์ของการแก้ไขเพียงไม่กี่วันให้ลองตัวอย่างนี้:
stat -c "%x" * | while read ymd; do date --date="$ymd" "+%d"; done
มันควรค่าแก่การสังเกตว่า GNU statสามารถมีตัวเลือกต่าง ๆ สำหรับ BSD statดังนั้นมันจะไม่สามารถกันกระสุนในระบบปฏิบัติการที่แตกต่างกันได้
lsไม่ต้องพึ่งพาชิ้นส่วนของข้อมูลการให้บริการในสถานที่เฉพาะเจาะจงfindคำสั่งจะเป็นประโยชน์อย่างมาก