我有一个文件夹结构,其中起始文件夹是test。 test中有两个文件夹。 test1和test2,加上一堆文件。这些文件以及test1和test2中的文件都有欢迎词。我试过这个并没有用
sed 's/\<welcome\>//g' **/*
我做错了什么?怎么办呢?
答案 0 :(得分:4)
这可能适合你(GNU sed):
find test -type f -exec sed -i '/welcome/d' '{}' \;
答案 1 :(得分:1)
尝试这样做(GNU sed
):
sed -i '/welcome/s/\<welcome\>//g' test/*
-i
开关修改文件,所以要小心。
如果您的Unix不支持-i
切换:
for i in test/*; do
sed '/welcome/s/\<welcome\>//g' "$i" > /tmp/.sed && mv /tmp/.sed "$i"
done
答案 2 :(得分:1)
sed -e 's/welcome//g' test > test2
文件测试有几个条目,包括 welcome 。 上面的sed行删除了test的欢迎。
你可以把它放在一个循环中..
而且我看到sputnick在很大程度上回答了你的问题! :P
答案 3 :(得分:1)
find . -type f|xargs perl -ni -e 'print unless(/<welcome>/)'