因此,此命令将在目录tmp
中的file.txt中用XYZ替换abcsed -ie's / abc / XYZ / g'/tmp/file.txt
如何在一站式扩展.html目录中的大量文件中进行这样的查找和替换?
答案 0 :(得分:4)
find /start/path -name *.html -exec sed -ie 's/abc/XYZ/g' '{}' \;
根据您的要求,以下是它的作用:
find /start/path -name *.html
从/ start / path
开始查找所有以* .html为格式的文件-exec选项告诉find,不仅要打印出文件,还要对它们运行命令。在此命令中{}由文件替换。 -exec选项以分号结束,我们必须用反斜杠转义,否则bash会吞下它。
再次,从OP的特殊情况:将以下内容放入名为replaceabc.sh
的文件中#!/bin/bash
find '/home/129224/domains/sandpit.uk-cpi.com/html/sshit' -name '*.html' -exec sed -ie 's/abc/XYZ/g' '{}' \;
然后从shell提示符
chmod 700 /path/to/replaceabc.sh
/path/to/replaceabc.sh