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