0
有没有一种方法来搜索和替换字符串使用单个unix命令grep
recusrsively在多个目录? 我知道它可以通过使用查找与其他实用程序,如sed perl等的组合来完成。但是有没有一种方法,我们可以只使用grep在unix命令行上执行此操作?搜索并替换字符串
有没有一种方法来搜索和替换字符串使用单个unix命令grep
recusrsively在多个目录? 我知道它可以通过使用查找与其他实用程序,如sed perl等的组合来完成。但是有没有一种方法,我们可以只使用grep在unix命令行上执行此操作?搜索并替换字符串
我不认为只有grep会在这里工作;涉及SED和其他实用程序将更加容易,不仅仅是用grep
的一种方式,如果你有GNU发现和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
为什么约束用grep?涉及sed将使这更容易imho。 – 2009-12-14 06:10:49
确实。 'grep'仅用于搜索,它不会*替换*。 'sed'和'perl'都是更合适的工具。 – 2009-12-14 06:14:57