通过shell编程替换文本

时间:2010-10-10 10:20:18

标签: shell replace

我有超过1000个文件,并希望用其他短语替换所有文件中的特殊文本。

我怎么能用linux中的shell脚本来做呢?

5 个答案:

答案 0 :(得分:5)

答案 1 :(得分:1)

这样的事情:

for file in *.txt
do
    cp $file $file.tmp
    cat $file.tmp | sed 's/foo/bar/g' > $file
done

答案 2 :(得分:1)

你也可以使用perl:

perl -pi -e 's/find/replace/g' *.txt

答案 3 :(得分:1)

只是打击

for file in *.txt
do
   while read -r line
   do
     case "$line" in
       "*pattern*") line="${line//pattern/new}";;
     esac
     echo "$line"
   done <"$file" > t
   mv t "$file"
done

答案 4 :(得分:0)

使用sed