เอาต์พุตของls -l
สามารถแก้ไขเพื่อแยกฟิลด์โดยใช้แท็บแทนการเว้นวรรคได้อย่างไร ฉันต้องการวางผลลัพธ์ลงในสเปรดชีต การเติมช่องว่างด้วยจำนวนตัวแปรทำให้การทำเช่นนั้นยาก เพื่อแสดง:
drwxr-xr-x 2 รูทราก 4096 26 ก.ย. 11:43 wpa_supplicant -rw-r ----- 1 dialout dialout 66 Sep 26 11:43 wvdial.conf drwxr-xr-x 9 รูทราก 4096 8 ต.ค. 08:21 X11 drwxr-xr-x 12 root root 4096 Feb 18 23:31 xdg drwxr-xr-x 2 root root 4096 Jan 31 06:11 xml drwxr-xr-x 2 รูทราก 4096 22 พ.ย. 07:26 xul-ext -rw-r - r-- 1 รูทราก 349 ม.ค. 13 2012 zsh_command_not_found
ในข้อความที่ตัดตอนมาจากls -l /etc
ด้านบนแถว 1, 2 และ 3 มีตัวเลขหลักเดียวในคอลัมน์ 2 ในขณะที่แถว 4 มีสอง นั่นหมายถึงการจัดตำแหน่งทำได้โดยใช้ช่องว่างสองช่องสำหรับการแยกคอลัมน์ 1 และ 2 ในแถว 1-3 แต่เพียงหนึ่งช่องว่างในแถว 4
ls
บอกว่าแยกผลผลิตของตนดี นั่นคือเป้าหมายที่ไม่ค่อย มันอยู่ที่นี่อย่างแน่นอน ผมคิดว่าวิธีการที่คุณเคยใช้ค่อนข้างดี (วิธีการใด ๆ ที่จะก่อให้เกิดผลที่ไม่พึงประสงค์ได้รับบางชุดของความต้องการ)! อย่างไรก็ตามการแยกวิเคราะห์เนื้อหาls
อาจจะดีกว่า พิจารณากรณีของชื่อไฟล์ที่มีอักขระแท็บอยู่จริงls -l
แทนที่แท็บด้วย?
อักขระ สคริปต์ของคุณรักษาอักขระแท็บไว้ซึ่งจะสร้างคอลัมน์เพิ่มเติมหากเอาท์พุทมันถูกตีความว่าเป็นการลบแท็บและใช้ในการสร้างสเปรดชีต มันลดระดับลงอย่างรุนแรงหากชื่อไฟล์มีการขึ้นบรรทัดใหม่