搜索并替换字符串

时间:2009-12-14 06:05:21

标签: unix command-line grep

有没有办法在多个目录中使用单个unix命令grep进行搜索和替换字符串? 我知道可以通过将find与其他实用程序(如sed perl等)结合使用来完成。但是有没有办法在unix命令行上只使用grep来执行此操作?

2 个答案:

答案 0 :(得分:1)

我认为只有grep才能在这里工作;涉及sed和其他实用程序将比grep

更容易

答案 1 :(得分:0)

单向,如果你有GNU find和bash shell

find /path -type f -iname "*.txt" | while read -r FILE
do
    while read -r LINE
    do
       case "$LINE" in
         *WORD_TO_SEARCH* ) LINE=${LINE//WORD_TO_SEARCH/REPLACE};;
       esac
       echo "$LINE" >> temp
    done < "$FILE"
    mv temp "$FILE"
done