Unix 进入每个目录并在该目录中运行脚本的Bash脚本
我有一个bash脚本,用于提取我需要的一组数据,当我在初始输入文件所在的目录中时,它非常有效Unix 进入每个目录并在该目录中运行脚本的Bash脚本,unix,Unix,我有一个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/' sp
#!/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的原因是字符串“parameter name”在initial\u 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
现在我想对所有子目录中的每个初始输入文件都这样做。例如,我所在的目录包含名为“一”、“二”和“三”的子目录,每个子目录都包含自己的初始输入文件(可以用*.out表示)
如何从当前目录运行此脚本,并同时从所有子目录接收输出,同时知道哪个输出来自哪个子目录
多谢各位 可能在
查找的结果上循环:
find . -name "*.out" | while read path; do
echo "The path is $path"
# do stuff
done