linux下怎么发现某个特定路径下所有包含特定字符串的文件,并把文件中的特定字符串替换成目标字符串?
1Abben · Mar 23, 2020 · Edited: Mar 23, 2020利用grep和sed:grep 'text-to-replace' /path -rl | xargs sed -i 'g#text-to-replace#s##target-string#g'grep指令的-r表示递归搜索,-l表示只列出文件名,包括路径;然后将检索到的带路径的文件名作为sed参数(xargs作用),sed的-i表示修改文件。最后text-to-replace表示想要替换的文本,target-string表示替换成的目标文本。
利用grep和sed:
grep 'text-to-replace' /path -rl | xargs sed -i 'g#text-to-replace#s##target-string#g'
grep指令的-r表示递归搜索,-l表示只列出文件名,包括路径;然后将检索到的带路径的文件名作为sed参数(xargs作用),sed的-i表示修改文件。
最后text-to-replace表示想要替换的文本,target-string表示替换成的目标文本。