【发布时间】:2018-06-20 02:42:34
【问题描述】:
我正在尝试使用 sed 在一百多个文件中用“/tools/common/test/HATS”替换字符串“/net/origin/devdata1/slin”的 .prm 文件中的每个出现。我认为我在循环遍历目录(/home/AutoTest)中不同文件的 for 循环的正确语法方面遇到问题,以及我需要什么/如果我需要作为命令行参数。提前致谢。
OLD="/net/origin/devdata1/slin"
NEW="/toolscommon/test/HATS"
DIR="/home/AutoTest"
for f in $DIR
do
cp $f $f.bak
sed 's+$OLD+$NEW+g' $f.bak > $f
[ -f "$f" ]
rm -f $f.bak
done
【问题讨论】:
-
如果您展示到目前为止您尝试过的代码并描述您遇到的问题,您将在这里得到更友好的接待和更好的帮助。如果没有代码,您的问题看起来像是请求免费咨询,很多人不喜欢这样。
-
当然。这是我尝试过的(非常业余,因为我不是 sh 脚本专家)
-
另外,您使用的是什么操作系统? Linux、OSX 还是其他?
-
我正在使用 Unix @John1024
标签: shell unix sed scripting sh