我想评论与多个文件中的模式不匹配的行。
例如,我想在文件g!/my_pattern/s/^/#/
中注释所有那些不包含“my_pattern”的行。
我可以在文件A1.sh
A/A1.sh
B/B1.sh
但是假设从A到Z有26个目录,如果我的文件存在于每个目录中,如
showAd
我如何一次评论它们?
答案 0 :(得分:1)
使用GNU sed和bash:
sed -i '/my_pattern/!s/.*/#&/' [A-Z]/*.sh
使用GNU sed和csh:
sed -i '/my_pattern/\!s/.*/#&/' [A-Z]/*.sh
答案 1 :(得分:0)
在命令行中使用for循环和vim命令:
for ch in {A..Z}; do
gvim -c ':g!/my_pattern/s/^/#/|:exit' "${ch}/${ch}1.sh"
done
sed
替代方案:
for ch in {A..Z}; do
sed -i 's/^my_patter/#&/' "${ch}/${ch}1.sh"
done