ls
พิมพ์แตกต่างกันไปขึ้นอยู่กับว่าการส่งออกไปยังขั้วหรือสิ่งอื่น
เช่น:
$ ls .
file1 file2
$ ls . | head
file1
file2
มีวิธีที่จะls
พิมพ์ออกมาในหนึ่งบรรทัดราวกับว่ามันเป็นขั้วเมื่อมันไม่ได้ มี-C
อาร์กิวเมนต์ที่ sorta ทำ แต่จะแยกออกเป็นหลายบรรทัด
$ ls
file1 file10 file11 file12 file13 file14 file15 file16 file17 file18 file19 file2 file3 file4 file5 file6 file7 file8 file9
$ ls -C . | head
file1 file11 file13 file15 file17 file19 file3 file5 file7 file9
file10 file12 file14 file16 file18 file2 file4 file6 file8
เหตุผลที่ฉันต้องการทำเช่นนี้คือฉันต้องการตรวจสอบไฟล์ในไดเรกทอรีที่เปลี่ยนแปลงอย่างรวดเร็ว ฉันได้สร้างบรรทัดคำสั่งง่ายๆนี้:
while [[ true ]] ; do ls ; done | uniq
uniq ป้องกันไม่ให้สแปมเทอร์มินัลของฉันและแสดงการเปลี่ยนแปลงเท่านั้น อย่างไรก็ตามมันกำลังพิมพ์ทั้งหมดบนบรรทัด differnet ซึ่งทำให้ uniq ไร้ประโยชน์และเพิ่มปริมาณของเสียงรบกวน ในทางทฤษฎีเราสามารถใช้watch
สิ่งนี้ได้ แต่ฉันต้องการเห็นไฟล์ทันทีที่มันปรากฏขึ้น / หายไป
นี่คือทางออกสุดท้าย:
while [[ true ]] ; do ls | tr '\n' ' ' ; done | uniq