Bash:限制 ls 和 grep 的输出

Ran*_*Rag 1 bash grep ls

让我举一个例子,然后尝试解释我的问题:

noob@noob:~/Downloads$ ls | grep srt$
Elementary - 01x01 - Pilot.LOL.English.HI.C.orig.Addic7ed.com.srt
Haven - 01x01 - Welcome to Haven.DVDRip.SAiNTS.English.updated.Addic7ed.com.srt
Haven - 01x01 - Welcome to Haven.FQM.English.HI.C.updated.Addic7ed.com.srt
Supernatural - 08x01 - We Need to Talk About Kevin.LOL.English.HI.C.updated.Addic7ed.com.srt
The Big Bang Theory - 06x02 - The Decoupling Fluctuation.LOL.English.HI.C.orig.Addic7ed.com.srt
Torchwood - 1x01 - Everything changes.0TV.English.orig.Addic7ed.com.srt
Torchwood - 1x01 - Everything changes.divx.English.updated.Addic7ed.com.srt
Run Code Online (Sandbox Code Playgroud)

现在我只想删除four results上面的第一个命令。通常,如果我必须删除所有文件,我会这样做,ls | grep srt$ | xargs -I {} rm {}但在这种情况下,我只想删除前四个文件。

那么,如何限制 ls 和 grep 的输出或建议我采用替代方法来实现此目的。

Rob*_*rop 5

您可以通过管道将命令head -n限制为n行:

ls | grep srt | head -4
Run Code Online (Sandbox Code Playgroud)

  • 你为什么不简单地`ls *.srt | 头-4`? (4认同)