我在编写一个相当基本的脚本,首先通过我拥有的文本文件猫,并且对于包含世界的每一行'NUMERIC'只运行一个sed命令。我想知道我该如何去做这件事?包含特定单词的sed行的脚本
所以基本上我首先有一个非常大的文本文件,这个脚本需要运行某种for循环(或其他)来通过并运行一个sed命令,只有当文本文件中的行包含单词' NUMERIC”
感谢
我在编写一个相当基本的脚本,首先通过我拥有的文本文件猫,并且对于包含世界的每一行'NUMERIC'只运行一个sed命令。我想知道我该如何去做这件事?包含特定单词的sed行的脚本
所以基本上我首先有一个非常大的文本文件,这个脚本需要运行某种for循环(或其他)来通过并运行一个sed命令,只有当文本文件中的行包含单词' NUMERIC”
感谢
或者为什么不这样做:
cat file.txt | grep 'NUMERIC' | sed 's/abc/def/'
在上面的例子中,我catting文件 “file.txt的”,并然后对字符串'NUMERIC'进行格式化,这会给我带有'NUMERIC'的行,然后应用sed操作将abc替换为def(替换您选择的SED操作)。
上述命令将在屏幕上打印输出。如果你想保存它,你可以将输出重定向到一个文件。下面
例如:
cat file.txt | grep 'NUMERIC' | sed 's/abc/def/' >> new_file.txt
您可以将您的sed命令之前指定的地址。
只有地址模式匹配线将被处理:
$ sed '/NUMERIC/s/five/six/' <<< "five NUMERIC"
six NUMERIC
如果您提供的样本数据缩小你的问题会更好。下面的一位用户通过删除“非NUMERIC”行来回答您的问题以进行替换。另一位用户通过保留“非NUMERIC”行进行替换。 – blackpen