สำหรับผู้ที่ไม่ใช่ GNU awk สามารถกรองฟิลด์อื่นทั้งหมดได้:
ls -l | sort -r | awk 'NF==9 { if ($1~/^d/) { print $9 "/" } else { print $9 } }'
- NF == 9: ผลลัพธ์ของ
ls -l
ต้องมี 9 ฟิลด์
- ถ้าบรรทัดขึ้นต้นด้วย 'd' ให้พิมพ์พิเศษ '/'
- มิฉะนั้นเพียงชื่อไฟล์
ผลลัพธ์ดูเหมือนls -1
แต่มีไดเรกทอรีใส่ก่อน:
node_modules/
src/
e2e/
angular.json
tslint.json
package.json
README.md
อ้างอิงจาก "The Long Format" ของ ls man page, เมื่อไฟล์ประเภทอื่นเข้ามาเกี่ยวข้อง, ลำดับผลลัพธ์ควรเป็น:
s Socket link.
p FIFO.
l Symbolic link.
d Directory.
c Character special file.
b Block special file.
- Regular file.
ฟังก์ชั่นทุบตีที่มีประโยชน์ (ใส่ไว้ใน. bash_profile หรือ. bashrc ของคุณ):
function l1() {
ls -l $* | sort -r | awk 'NF==9 { if ($1~/^d/) { print $9 "/" } else { print $9 } }'
}
ls
มี--group-directories-first
สวิตช์