I have two files, fileA with a list of name :
AAAAA
BBBBB
CCCCC
DDDDD
还有另一个名为文件B的文件,其中包含另一个列表:
111
222
333
444
还有第三个文件C,其中包含一些文本:
Hello AAAAA toto BBBBB dear "AAAAA" trird BBBBBB tuizf AAAAA dfdsf CCCCC
我需要在文件C中找到并替换每个文件A模式为文件B模式。
这很有效!但是我发现文件C包含诸如“AAAAA”之类的单词,它们没有被替换为“111”。
我正在进行这项工作,但似乎不起作用。
#! /bin/bash
while IFS= read -r lineA && IFS= read -r lineB <&3; do
sed -i -e "s/$lineA/$lineB/g" fileC
done <fileA 3<fileB
Hello 111 toto 222 dear 111 trird 222B tuizf 111 dfdsf 333
。 - svanteAAAAA
没有被替换,因为fileA
包含的是AAAAA
而不是AAAAA
(请注意末尾的空格)。 - devnull