我是这个网站的新手(以及编程,或多或少),但我希望你能提供帮助。
我有许多名为3K,4K,5K等的目录。在每个目录中,我有12个名为v1到v12的子目录,每个子目录包含一个名为OUTCAR的文件。我正在尝试编写一个bash命令,允许我进入每个子目录并从OUTCAR收集数据。
当我单独输入每个子目录时,该功能没有问题。
我正在使用
for v {1..12}中的文件;做grep“key_string”OUTCAR | awk'{print(relevant_stuff)}'> output.dat;完成
来自包含v {1..12}子目录的* K罚款。
但是,我收到一个错误,告诉我每个v {1..12}都不存在OUTCAR。我知道它确实如此,所以我猜我没有正确地将命令指向cd进入每个子目录。有什么提示吗?
谢谢!
答案 0 :(得分:0)
最好在顶级目录中使用这个find
命令,这些命令存在这些子目录:
find . -type d -name 'v[1-9][[1-9]' \
-exec awk '/key_string/ {print FILENAME ":" $0}' {}/* >> output.dat \;