bash – 提取与“foo”匹配的文件的最后10行

我想在文件中将包含特定单词(如“foo”)的最后十行写入名为boo.txt的新文本文件中.

如何在unix终端的命令提示符下实现此目的?

你可以使用grep和tail:
grep "foo" input.txt | tail -n 10 > boo.txt

由tail打印的认行数为10,因此如果您总是想要那么多,则可以省略-n 10部分.

>如果不存在,重定向将创建boo.txt.如果它在运行之前确实存在,则首先截断(即清空)该文件.因此boo.txt在任何情况下最多包含10行文本.

如果要附加到boo.txt,则应将重定向更改为使用>>.

grep "bar" input.txt | tail -n 42 >> boo.txt

如果您正在寻找第一次出现的字符串,您可能也会对head感兴趣.

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...