文件列表包含几千个文件名,如:
./folder/folder/file.ext
对于列表中的每个项目,我应该编辑一个文件:替换文本模式" old_text_pattern" by" new_text_pattern"。 这个命令:
cat filelist | while read line; do sed -i 's/END_CREDIT_END/END_CREDIT/g' "$line"; done
给出错误:
sed: 1: "./folder ...": invalid command code .
如何正确执行替换?感谢。
答案 0 :(得分:1)
OS X sed -i
与GNU sed -i
不同。 OS X需要一个参数。
cat filelist | while IFS= read -r line
do sed -i bak 's/END_CREDIT_END/END_CREDIT/g' "$line"
done