Shell 在文件中写入从字符串的第一次出现到最后一次出现的数据
我希望使用shell脚本将字符串第一次出现和文件中最后一次出现之间的数据写入另一个文件 我尝试使用下面的sed命令来打印字符串匹配所在的行Shell 在文件中写入从字符串的第一次出现到最后一次出现的数据,shell,unix,sed,Shell,Unix,Sed,我希望使用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
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
请注意我在帖子中的文本对齐。当我听到文件中最后一个内容时,我通常会想“将文件反转,然后……文件中第一个内容” 因此: 即:
f() { sed -n '/Air/,$p' | tac; }
f <file | f
f(){sed-n'/Air/,$p'| tac;}
如果只出现一次Air
,那么它应该打印包含单词“Air”的那一行。我没有勇气发布,但你是对的
f() { sed -n '/Air/,$p' | tac; }
f <file | f