【发布时间】:2011-02-17 18:22:09
【问题描述】:
嘿,我尝试编写一个 littel bash 脚本。这应该复制一个目录和其中的所有文件。然后它应该在这个复制的目录中搜索每个文件和目录以查找字符串(例如@ForTestingOnly),然后保存行号。然后它应该继续计算每个 { 和 } 一旦数字相等它应该再次保存行号。 => 它应该删除这两个数字之间的所有行。 我正在尝试制作一个搜索所有这些注释的脚本,然后删除直接在这个 ano 之后的方法。 谢谢帮忙...
目前为止:
echo "please enter dir"
read dir
newdir="$dir""_final"
cp -r $dir $newdir
cd $newdir
grep -lr -E '@ForTestingOnly' * | xargs sed -i 's/@ForTestingOnly//g'
现在使用 grep 我可以搜索和替换 @ForTestingOnly anot。但是我喜欢删除这个和下面的方法...
【问题讨论】:
-
你可能应该明确提到为什么用“java”标签标记这个问题,我只能怀疑@ForTestingOnly 是一个Java注释......
-
想发布你目前拥有的东西吗?
-
按照您的描述,几乎正确地做到这一点非常容易,但要注意 cmets 或字符串文字中的“}”字符......
-
我不知道如何搜索一个单词并保存该行,然后搜索搜索 { 和 },然后删除...
-
您始终可以使用自己喜欢的编程语言为单个文件编写解决方案,然后使用 find 命令递归地应用您的程序。