ฉันใช้คำสั่งนี้เพื่อแสดงผลลัพธ์แรกของไฟล์ในไดเรกทอรีของฉัน
ls | head -n 1
คำถามง่ายๆของฉันคือฉันจะแก้ไขคำสั่งนี้เพื่อแสดงว่าผลลัพธ์ที่ n ได้อย่างไร
ขอบคุณ!
ฉันใช้คำสั่งนี้เพื่อแสดงผลลัพธ์แรกของไฟล์ในไดเรกทอรีของฉัน
ls | head -n 1
คำถามง่ายๆของฉันคือฉันจะแก้ไขคำสั่งนี้เพื่อแสดงว่าผลลัพธ์ที่ n ได้อย่างไร
ขอบคุณ!
คำตอบ:
คุณสามารถใช้ sed เพื่อเลือกบรรทัดเดียวตัวอย่างเช่นบรรทัด 12:
ls | sed -n 12p
ตัวเลือก-n
ขอให้ไม่พิมพ์ทุกบรรทัด (ซึ่งเป็นสิ่งปกติ) และ12p
ขอให้พิมพ์พื้นที่รูปแบบเมื่อที่อยู่คือ 12
อาจมีวิธีที่ดีกว่าในการทำเช่นนี้ แต่นี่อาจเป็นวิธีที่ง่ายที่สุด: ls | head -<n> | tail -1
ตรงไปข้างหน้าด้วยawk
:
$ ls / | awk 'NR==4'
etc
.bashrc
ฉันมีนี้ในของฉัน
lsn () {
ls ${@:2} | head -n $1 | tail -n 1
}
สิ่งนี้เรียกว่า: lsn 4
เช่น $2
อนุญาตให้คุณใช้
ตัวเลือกต่างๆls
เช่นlsn 4 -lah
นั้นก็ใช้ได้เช่นกัน
หมายเหตุ: เมื่อใช้การ-l
ตั้งค่าสถานะบนls
มีบรรทัดเพิ่มเติมที่ด้านบนของผลลัพธ์ ซึ่งจะเอียงผลลัพธ์ของฟังก์ชันนี้
$@
วิธีการ เห็นดี
กับ zsh
และรอบคัดเลือกรอบ:
ls -d -- *([7])
หรือ
print -rl -- *([7])
จะพิมพ์ไฟล์ที่ 7 จากรายการไฟล์เรียงตามชื่อ
ls -d -- *(om[7])
หรือ
print -rl -- *(om[7])
จะพิมพ์ไฟล์ที่ 7 จากรายการไฟล์ที่o
rted โดยm
เวลา (ใหม่ที่สุดก่อน - คล้ายกับการแยกรายการลำดับที่ 7 จากls -t
เอาต์พุต)
หากคุณกำลังประมวลผลls
เอาต์พุตคุณควรใช้บางอย่างls -q | command(s)
ที่-q
พิมพ์?
แทนตัวอักษรขี้ขลาด (เช่นบรรทัดใหม่) และcommand(s)
ประมวลผลเฉพาะบรรทัดNบรรทัดพิมพ์Nthแล้วหยุด
ด้วยหางและหัว (เพิ่ม nl เพื่อความชัดเจน) มาดึงบรรทัดที่ห้า:
ychaouche@ychaouche-PC ~ $ ls | nl
1 total 8.3M
2 -rw-r--r-- 1 ychaouche ychaouche 20K Jul 8 15:53 2.docx
3 -rw-r--r-- 1 ychaouche ychaouche 20K Jul 8 15:53 3.docx
4 drwxr-xr-x 2 ychaouche ychaouche 4.0K Jul 7 10:11 AUDIO
5 drwxr-xr-x 3 ychaouche ychaouche 4.0K May 28 09:33 BACKUPS
6 drwxr-xr-x 6 ychaouche ychaouche 4.0K May 17 13:49 BZR
7 drwxr-xr-x 6 ychaouche ychaouche 4.0K Jun 15 17:10 CODE
8 drwxr-xr-x 2 ychaouche ychaouche 4.0K May 25 10:24 Desktop
9 -rw-r--r-- 1 ychaouche ychaouche 34K Dec 2 2014 dget_problem.ods
10 drwxr-xr-x 12 ychaouche ychaouche 4.0K Jul 7 10:00 DOCUMENTS
11 drwx------ 2 ychaouche ychaouche 4.0K Apr 6 11:39 Downloads
12 drwxr-xr-x 16 ychaouche ychaouche 4.0K Jul 12 11:06 DOWNLOADS
13 drwxr-xr-x 6 ychaouche ychaouche 4.0K Jun 22 15:38 IMAGES
14 -rw-r--r-- 1 ychaouche ychaouche 690 Jan 25 14:25 IT_Alias.vcf
15 drwxr-xr-x 4 ychaouche ychaouche 4.0K Dec 2 2014 MACONF
16 -rw-r--r-- 1 ychaouche ychaouche 6.2M May 12 10:44 mtr.ogv
17 drwxr-xr-x 4 ychaouche ychaouche 4.0K Jan 5 2015 MUSIQUE
18 drwxr-xr-x 2 ychaouche ychaouche 4.0K Mar 2 16:29 NOTES
19 -rw-r--r-- 1 ychaouche ychaouche 2.0M May 12 10:42 out.ogv
20 -rw-r--r-- 3 ychaouche ychaouche 62K Apr 2 2014 php-mode.el
21 drwxr-xr-x 2 ychaouche ychaouche 4.0K Apr 8 13:25 Pictures
22 drwxr-xr-x 2 ychaouche ychaouche 4.0K Jan 6 2015 Projects
23 -rw-r--r-- 1 ychaouche ychaouche 353 Jan 12 2015 proxylog.dat
24 drwxr-xr-x 2 ychaouche ychaouche 4.0K Mar 19 15:35 public_html
25 -rw-r--r-- 1 ychaouche ychaouche 21 Nov 23 2014 registrationcode
26 drwxr-xr-x 6 ychaouche ychaouche 4.0K Jun 21 10:55 REPOS
27 drwxr-xr-x 2 ychaouche ychaouche 4.0K Jul 20 10:56 SCRIPTS
28 drwxr-xr-x 8 ychaouche ychaouche 4.0K Jun 11 10:36 SRV
29 drwxr-xr-x 14 ychaouche ychaouche 4.0K Jun 30 16:26 TMP
30 drwxr-xr-x 5 ychaouche ychaouche 4.0K Jun 28 16:56 VIDEOS
31 drwxr-xr-x 7 ychaouche ychaouche 4.0K Mar 18 11:35 VirtualBox VMs
32 drwxr-xr-x 3 ychaouche ychaouche 4.0K Jan 22 14:28 VIRTUALENVS
33 drwxr-xr-x 2 ychaouche ychaouche 4.0K Jul 7 12:24 WTMP
ychaouche@ychaouche-PC ~ $
สิ่งนี้จะข้ามไปที่บรรทัดที่ห้า:
ychaouche@ychaouche-PC ~ $ ls | nl | tail -n +5
5 drwxr-xr-x 3 ychaouche ychaouche 4.0K May 28 09:33 BACKUPS
6 drwxr-xr-x 6 ychaouche ychaouche 4.0K May 17 13:49 BZR
7 drwxr-xr-x 6 ychaouche ychaouche 4.0K Jun 15 17:10 CODE
8 drwxr-xr-x 2 ychaouche ychaouche 4.0K May 25 10:24 Desktop
9 -rw-r--r-- 1 ychaouche ychaouche 34K Dec 2 2014 dget_problem.ods
10 drwxr-xr-x 12 ychaouche ychaouche 4.0K Jul 7 10:00 DOCUMENTS
11 drwx------ 2 ychaouche ychaouche 4.0K Apr 6 11:39 Downloads
12 drwxr-xr-x 16 ychaouche ychaouche 4.0K Jul 12 11:06 DOWNLOADS
13 drwxr-xr-x 6 ychaouche ychaouche 4.0K Jun 22 15:38 IMAGES
14 -rw-r--r-- 1 ychaouche ychaouche 690 Jan 25 14:25 IT_Alias.vcf
15 drwxr-xr-x 4 ychaouche ychaouche 4.0K Dec 2 2014 MACONF
16 -rw-r--r-- 1 ychaouche ychaouche 6.2M May 12 10:44 mtr.ogv
17 drwxr-xr-x 4 ychaouche ychaouche 4.0K Jan 5 2015 MUSIQUE
18 drwxr-xr-x 2 ychaouche ychaouche 4.0K Mar 2 16:29 NOTES
19 -rw-r--r-- 1 ychaouche ychaouche 2.0M May 12 10:42 out.ogv
20 -rw-r--r-- 3 ychaouche ychaouche 62K Apr 2 2014 php-mode.el
21 drwxr-xr-x 2 ychaouche ychaouche 4.0K Apr 8 13:25 Pictures
22 drwxr-xr-x 2 ychaouche ychaouche 4.0K Jan 6 2015 Projects
23 -rw-r--r-- 1 ychaouche ychaouche 353 Jan 12 2015 proxylog.dat
24 drwxr-xr-x 2 ychaouche ychaouche 4.0K Mar 19 15:35 public_html
25 -rw-r--r-- 1 ychaouche ychaouche 21 Nov 23 2014 registrationcode
26 drwxr-xr-x 6 ychaouche ychaouche 4.0K Jun 21 10:55 REPOS
27 drwxr-xr-x 2 ychaouche ychaouche 4.0K Jul 20 10:56 SCRIPTS
28 drwxr-xr-x 8 ychaouche ychaouche 4.0K Jun 11 10:36 SRV
29 drwxr-xr-x 14 ychaouche ychaouche 4.0K Jun 30 16:26 TMP
30 drwxr-xr-x 5 ychaouche ychaouche 4.0K Jun 28 16:56 VIDEOS
31 drwxr-xr-x 7 ychaouche ychaouche 4.0K Mar 18 11:35 VirtualBox VMs
32 drwxr-xr-x 3 ychaouche ychaouche 4.0K Jan 22 14:28 VIRTUALENVS
33 drwxr-xr-x 2 ychaouche ychaouche 4.0K Jul 7 12:24 WTMP
ychaouche@ychaouche-PC ~ $
จากนั้นเห็นได้ชัดว่าหัว -1
ychaouche@ychaouche-PC ~ $ ls | nl | tail -n +5 | head -1
5 drwxr-xr-x 3 ychaouche ychaouche 4.0K May 28 09:33 BACKUPS
ychaouche@ychaouche-PC ~ $
ls "$@"
ที่จะผ่านlsn
'sls
การขัดแย้งลงไป แน่นอนว่าหลังจากใช้shift
ไป$1
แล้ว