【发布时间】:2019-09-17 08:35:08
【问题描述】:
我有一个 bash 脚本,用于提取我需要的一组数据,当我在初始输入文件所在的目录中时,它工作得很好。
#!/bin/bash
sed -n '/FIRST KEYWORD/,/KEYWORD THAT STOPS SEARCH/p' initial_input.out > tmp1.dat
sed -n '/SECOND KEYWORD/,/KEYWORD THAT STOPS SEARCH/p' tmp1.dat > tmp2.dat
awk '/parameter name/' spintmp2.dat
实际上,我使用sed 剪切了我需要的文件部分,然后使用 awk 获取与“参数名称”关联的行。我不立即执行 awk 的原因是因为字符串“参数名称”在 initial_input.out 文件中重复了很多次。
我的输出可能类似于
parameter name 25.3 18.0 4.0
parameter name 4.3 51.3 54.0
parameter name 1.3 1.4 1.5
现在我想对所有子目录中的每个初始输入文件执行此操作。例如,我在一个目录中,其中包含名为“one”、“two”和“three”的子目录,每个子目录都包含自己的初始输入文件(可以表示为 *.out)。
如何从当前目录运行此脚本,并同时接收来自所有子目录的输出,知道哪个输出来自哪个子目录?
谢谢。
【问题讨论】:
标签: unix