小编Dri*_*ven的帖子

grep 文件并将输出通过管道传输到 sed 并将 sed 输出存储在文件中

内容source.txt

gold  green white black blue
yellow magenta brown 
tram kilo charlie tango
Run Code Online (Sandbox Code Playgroud)

嗨,大家好!我需要解开一个谜。

我正在尝试运行一个小脚本来 grep 文件source.txt,管道grep输出以sed替换字符串并将该行存储在新文件中pol.txt

grep -l "gold" source.txt | xargs sed  's/green/red/' >  pol.txt
Run Code Online (Sandbox Code Playgroud)

而不是将唯一的那行存储在pol.txt

gold  red white black blue
Run Code Online (Sandbox Code Playgroud)

我有整个文件本身和我替换的字符串

gold  red white black blue
yellow magenta brown 
tram kilo charlie tango
Run Code Online (Sandbox Code Playgroud)

当我-l从 grep 命令中删除选项时,我有这个,当然 pol.txt 中没有任何内容

sed: can't read gold: No such file or directory
sed: can't read green: No such file …
Run Code Online (Sandbox Code Playgroud)

linux bash grep sed shell-script

4
推荐指数
1
解决办法
2万
查看次数

标签 统计

bash ×1

grep ×1

linux ×1

sed ×1

shell-script ×1