LinuxBash:如何从bash命令行替换文件中的2个单词
我需要从Bash命令行替换文件中的2个单词,例如: fileA.txtLinuxBash:如何从bash命令行替换文件中的2个单词,linux,bash,awk,sed,Linux,Bash,Awk,Sed,我需要从Bash命令行替换文件中的2个单词,例如: fileA.txt xxxx AA BB xxx 我需要将Bash命令行中的“AA BB”替换为“CC DD”,因此该文件将变成: xxxx CC DD xxx 谢谢你的帮助 您可以尝试下面的sed命令 sed -i 's/AA BB/CC DD/g' file 例如: $ echo 'xxxx AA BB xxx' | sed 's/AA BB/CC DD/g' xxxx CC DD xxx $ echo 'xxxx AA BB x
xxxx AA BB xxx
我需要将Bash命令行中的“AA BB”替换为“CC DD”,因此该文件将变成:
xxxx CC DD xxx
谢谢你的帮助 您可以尝试下面的
sed
命令
sed -i 's/AA BB/CC DD/g' file
例如:
$ echo 'xxxx AA BB xxx' | sed 's/AA BB/CC DD/g'
xxxx CC DD xxx
$ echo 'xxxx AA BB xxx' | awk '{sub(/AA BB/,"CC DD")}1'
xxxx CC DD xxx
通过awk
awk '{sub(/AA BB/,"CC DD")}1' infile > outfile
例如:
$ echo 'xxxx AA BB xxx' | sed 's/AA BB/CC DD/g'
xxxx CC DD xxx
$ echo 'xxxx AA BB xxx' | awk '{sub(/AA BB/,"CC DD")}1'
xxxx CC DD xxx
该命令的作用是
sed-e's/TEXT_TO_REPLACE/NEW_TEXT/g'filename.txt>output.txt什么是“单词”?您接受的解决方案仅适用于术语的某些定义,但通常不适用于空格分隔或标点分隔的字符串。