如果我正在编写一个bash脚本来对一堆文件进行现场编辑,那么我要改变的行就是:
#include <foo/bar.h>
到
#include "bar.h"
语法是什么?
old='#include <foo/bar.h>'
new='#include "bar.h'
perl -pe -i.bak 's/$old/$new/g' baz.h
答案 0 :(得分:2)
如果所有文件都在同一目录中,则应该有效:
sed -e 's@#include <foo/bar.h>@#include "bar.h"@' -i *.c
答案 1 :(得分:1)
击
for file in *.c
do
while read -r line
do
case "$line" in
*"$old"* ) line="${line/$old/$new}"
esac
echo "$line"
done < "$file" > tempo && mv tempo "$file"
done