一个简单的SED脚本仅显示更改的线条



我如何制作一个单独的sed脚本(让我们称其为脚本。sed),该脚本仅显示更改的行而无需在执行它时使用-n选项?(对不起,我的英语)

我有一个名为Data2.txt的文件,我需要更改以" .5"结尾的行,然后在控制台中打印出那些更改的行。

我知道如何使用一个命令(sed -n 's/.5$//gp' data2.txt)进行操作,但是我们的大学教授要求我们使用sed -f script.sed data2.txt命令进行相同的操作。

有什么想法?

以下内容应适用于您的SED脚本:

s/.5$//gp
d

-n选项将抑制该行的自动打印,另一种方法是使用d命令。从人页面:

   d      Delete pattern space.  Start next cycle.

这起作用是因为该行的自动打印发生在周期结束时,并且使用d命令意味着您永远不会到达周期的末端,因此没有自动打印行。

这可能对您有用(gnu sed):

#n
s/.5$//p

将其保存到文件并运行为:

sed -f file.sed file.txt

相关内容

  • 没有找到相关文章