SED用新字符串替换被空格包围的字符串
我是一个脚本初学者 我有一个包含几页文本的文件。我想改变一个词,在中间的一行,由另外两个词组成,如在这个例子中: 原始行:SED用新字符串替换被空格包围的字符串,sed,Sed,我是一个脚本初学者 我有一个包含几页文本的文件。我想改变一个词,在中间的一行,由另外两个词组成,如在这个例子中: 原始行: BUREAU DES DOCKS ET TRANSPORTS POSTE M.G. CN 修改行: BUREAU DES DOCKS ET TRANSPORTS POSTE M.G. CN NICOLAS 为此,我在这个脚本中使用了“SED”和以下语法: while read var1 var
BUREAU DES DOCKS ET TRANSPORTS POSTE M.G. CN
修改行:
BUREAU DES DOCKS ET TRANSPORTS POSTE M.G. CN NICOLAS
为此,我在这个脚本中使用了“SED”和以下语法:
while read var1 var2
do
sed -i -e "/POSTE M.G./ s/ $var1 / $var1 $var2 /g" /exploit/scripts/file-MOD.txt
done < liste_MOD
读取var1 var2时
做
sed-i-e“/POSTE M.G./s/$var1/$var1$var2/G”/exploit/scripts/file-MOD.txt
完成
但它不起作用。有人能帮我吗?你的解决方案适合我。你能告诉我什么不适合你吗
bjb@rhino:~$ cat /tmp/mod
CN NICOLAS
bjb@rhino:~$ cat /tmp/sed.in
BUREAU DES DOCKS ET TRANSPORTS POSTE M.G. CN
bjb@rhino:~$ while read var1 var2; do sed -i -e "/POSTE M.G./ s/ $var1 /
$var1 $var2 /g" /tmp/sed.in; done < /tmp/mod
bjb@rhino:~$ cat /tmp/sed.in
BUREAU DES DOCKS ET TRANSPORTS POSTE M.G. CN NICOLAS
bjb@rhino:~$
否则它将匹配诸如POSTE MAGA
、POSTE M9G2
等内容
此外,要匹配整个单词而不需要前后空格,可以使用\b:
s/\b$var1\b/$var1 $var2/g
你好,布伦达,当a使用这个合成斧时没有替代品。我可以在屏幕上看到替换是打开的,但是当查看文件时,它不是0
s/\b$var1\b/$var1 $var2/g