我不是一个scripter,非常适合初学者。我将从超过1950个目录的* .bat文件中删除文本。我有删除我需要的部分文件的正确命令,并且我可以将这些文件复制到新的输出文件(不覆盖旧结构)。AWK - 如何在多个目录中更改多个文件中的内容
实施例:
bin\awk "/^:COMMANDS/,0" F1\kits\test\engine\blah.bat > F2\kits\test\engine\blah.bat
据测试并做这项工作。
现在我想对其余1949个目录中的所有其他文件执行此操作。
所以理论上这是需要做什么:
bin\awk "/^:COMMANDS/,0" F1\kits\test\engine\blah.bat > F2\kits\test\_engine\blah.bat
bin\awk "/^:COMMANDS/,0" F1\kits\test1\engine\blah.bat > F2\kits\test1\engine\blah.bat
bin\awk "/^:COMMANDS/,0" F1\kits\test2\engine\blah.bat > F2\kits\test2\engine\blah.bat
bin\awk "/^:COMMANDS/,0" F1\kits\test3\engine\blah.bat > F2\kits\test3\engine\blah.bat
bin\awk "/^:COMMANDS/,0" F1\kits\test4\engine\blah.bat > F2\kits\test4\engine\blah.bat
不断变化的因素是目录(test*
)。但如果能以更高效的方式完成这将是非常好的。
这是在Windows上完成的(宁愿* nix ...)。我怎样才能把这个包装成一个很好的脚本?
像你需要标记你的问题听起来更与Windows中使用的任何shell相比awk。我在Linux中使用Bash,我会这样:'for in in */*/*。txt;做awk'{print FILENAME,$ 1}'$ i> $ {i%/ *}/output.txt; (这不适用于你)处理子目录子目录中的文件。 –
感谢您的推荐:-)我更新了一些更多的标签,但作为书面,我非常新手...... :-) – Kanutten
请阅读[在什么情况下我可以添加“紧急”或其他类似的短语,以我的问题,为了以获得更快的答案?](// meta.stackoverflow.com/q/326569) - 总结是,这不是解决志愿者的理想方式,并且可能适得其反。请不要将这添加到您的问题。 – halfer