用于包含特定单词的行的脚本

时间:2016-10-03 14:14:18

标签: linux shell loops sed scripting

我正在编写一个基本的脚本,首先只是通过我拥有的文本文件中的猫,并且对于包含世界'NUMERIC'的每一行只运行一个sed命令。我想知道我怎么可能这样做?

所以基本上我首先有一个非常大的文本文件,这个脚本需要运行某种for循环(或其他东西)才能通过并运行sed命令只有当文本文件中的行包含单词'NUMERIC “

由于

2 个答案:

答案 0 :(得分:0)

您可以在sed命令之前指定地址。

仅处理与地址模式匹配的行:

$ sed '/NUMERIC/s/five/six/' <<< "five NUMERIC"
six NUMERIC

答案 1 :(得分:0)

或为什么不这样做:

cat file.txt | grep 'NUMERIC' | sed 's/abc/def/'

在上面的示例中,我正在捕获文件“file.txt”,然后点击字符串'NUMERIC',这将为我提供其中包含'NUMERIC'的行,然后应用将abc替换为def的sed操作(替换您选择的SED操作。)

上述命令将在屏幕上打印输出。如果要保存它,可以将输出重定向到文件。

以下示例:

cat file.txt | grep 'NUMERIC' | sed 's/abc/def/' >> new_file.txt