1

我是这个网站的新手(和编程,或多或少),但我希望你能提供帮助。

我有许多名为 3K、4K、5K 等的目录。在每个目录中,我有 12 个名为 v1 到 v12 的子目录,每个子目录都包含一个名为 OUTCAR 的文件。我正在尝试编写一个 bash 命令,该命令将允许我进入每个子目录并从 OUTCAR 收集数据。

当我单独输入每个子目录时,该功能没有问题。

我在用着

对于 v{1..12} 中的文件;执行 grep "key_string" OUTCAR | awk '{print(relevant_stuff)}' > output.dat ; 完毕

从包含 v{1..12} 子目录的 *K 罚款。

但是,我收到一条错误消息,告诉我每个 v{1..12} 都不存在 OUTCAR。我知道确实如此,所以我猜我没有正确地将命令 cd 引导到每个子目录中。有小费吗?

谢谢!

4

1 回答 1

0

您最好find从存在这些子目录的顶级目录中使用此命令:

find . -type d -name 'v[1-9][[1-9]' \
    -exec awk '/key_string/ {print FILENAME ":" $0}' {}/* >> output.dat \;
于 2015-02-04T15:51:48.347 回答