使用grep和sed查找并替换(并更改文件的日志)

时间:2015-01-23 18:48:19

标签: bash sed grep pipe

我的脚本如下(变量由上面的用户输入定义):

grep -RlI $OLD $PATH > $LIST
while read line
do
FILE=echo $line
sed -i '' -e 's|$OLD|$NEW|g' $FILE
done < $LIST

似乎工作除了sed失败,因为 “sed:-i可能不会与stdin一起使用”

我做错了什么?也许这是我试图做的错误方法? (顺便说一句,它是在许多文件中替换字符串的出现,并创建一个列出包含匹配项的所有文件的文件。) 非常感谢, ç

1 个答案:

答案 0 :(得分:0)

尝试替换

FILE=echo $line

FILE="$line"

sed抱怨,因为$FILE变量不包含任何内容,或者只包含空格。检查$LIST引用的文件的内容;确保没有空行或只有空格的行。