ฉันจะแสดงผลลัพธ์ที่ n ของคำสั่ง ls ได้อย่างไร?


15

ฉันใช้คำสั่งนี้เพื่อแสดงผลลัพธ์แรกของไฟล์ในไดเรกทอรีของฉัน

  ls | head -n 1

คำถามง่ายๆของฉันคือฉันจะแก้ไขคำสั่งนี้เพื่อแสดงว่าผลลัพธ์ที่ n ได้อย่างไร

ขอบคุณ!

คำตอบ:


24

คุณสามารถใช้ sed เพื่อเลือกบรรทัดเดียวตัวอย่างเช่นบรรทัด 12:

ls | sed -n 12p

ตัวเลือก-nขอให้ไม่พิมพ์ทุกบรรทัด (ซึ่งเป็นสิ่งปกติ) และ12pขอให้พิมพ์พื้นที่รูปแบบเมื่อที่อยู่คือ 12


9

อาจมีวิธีที่ดีกว่าในการทำเช่นนี้ แต่นี่อาจเป็นวิธีที่ง่ายที่สุด: ls | head -<n> | tail -1


9

ตรงไปข้างหน้าด้วยawk:

$ ls / | awk 'NR==4'
etc

3

.bashrcฉันมีนี้ในของฉัน

lsn () {
    ls ${@:2} | head -n $1 | tail -n 1
}

สิ่งนี้เรียกว่า: lsn 4เช่น $2อนุญาตให้คุณใช้
ตัวเลือกต่างๆlsเช่นlsn 4 -lahนั้นก็ใช้ได้เช่นกัน

หมายเหตุ: เมื่อใช้การ-lตั้งค่าสถานะบนlsมีบรรทัดเพิ่มเติมที่ด้านบนของผลลัพธ์ ซึ่งจะเอียงผลลัพธ์ของฟังก์ชันนี้


2
มันจะเป็นทั่วไปมากขึ้นจะทำอย่างไรls "$@"ที่จะผ่านlsn's lsการขัดแย้งลงไป แน่นอนว่าหลังจากใช้shiftไป$1แล้ว
Kaz

ฉันได้อัปเดตคำตอบของฉันโดยใช้$@วิธีการ เห็นดี
robjtede

2

กับ zshและรอบคัดเลือกรอบ:

ls -d -- *([7])

หรือ

print -rl -- *([7])

จะพิมพ์ไฟล์ที่ 7 จากรายการไฟล์เรียงตามชื่อ

ls -d -- *(om[7])

หรือ

print -rl -- *(om[7])

จะพิมพ์ไฟล์ที่ 7 จากรายการไฟล์ที่orted โดยmเวลา (ใหม่ที่สุดก่อน - คล้ายกับการแยกรายการลำดับที่ 7 จากls -tเอาต์พุต)


หากคุณกำลังประมวลผลlsเอาต์พุตคุณควรใช้บางอย่างls -q | command(s)ที่-qพิมพ์?แทนตัวอักษรขี้ขลาด (เช่นบรรทัดใหม่) และcommand(s)ประมวลผลเฉพาะบรรทัดNบรรทัดพิมพ์Nthแล้วหยุด


1

ด้วยหางและหัว (เพิ่ม 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 ~ $ 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.