我希望使用shell脚本在第一次出现字符串和文件中最后一次出现之间写入数据。
我尝试使用以下sed命令打印字符串匹配的行。
sed -n '/Air/p' ashu.txt
示例:ashu.txt包含
I am a good student
Air is polluted
water is not free
now Expensive Air will be
上面的sed命令给出如下输出
Air is polluted
now Expensive Air will be
但我想要如下所示。
Air is polluted
water is not free
now Expensive Air
请在帖子中加上我的文字对齐。
答案 0 :(得分:1)
当我在文件中听到最后 某些内容时,我通常认为"反转文件并且...... 第一个 文件"
所以:
sed -n '/Air/,$p' file | tac | sed -n '/Air/,$p' | tac
是:
更多干:
f() { sed -n '/Air/,$p' | tac; }
f <file | f