我不是一個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