我有 100 个文本文件,如下所示:
File title
4
Realization number
variable 2 name
variable 3 name
variable 4 name
1 3452 4538 325.5
第 7 行 (1) 的第一个数字是实现编号,它应该与文件名相关。即第一个文件称为file1.txt,实现编号为1(如上所示)。第二个文件名为 file2.txt,第 7 行的实现编号为 2。file3.txt 应该在第 7 行具有实现编号 3,依此类推...
不幸的是,每个文件的实现=1,它们应该根据文件名递增。
我想从每个文件的第 7 行(3452、4538 和 325.5)中提取变量 2、3 和 4,并将它们附加到一个名为 summary.txt 的摘要文件中。
我知道如何从 1 个文件中提取信息:
awk 'NR==7,NR==7{print $2, $3, $4}' file1.txt
其中,正确地给了我:
3452 4538 325.5
我的第一个问题是,当从多个文件的 bash 脚本运行时,此命令似乎没有给出相同的结果。
#!/bin/bash
for ((i=1;i<=100;i++));do
awk 'NR=7,NR==7{print $2, $3, $4}' File$((i)).txt
done
当我使用上述脚本时,我会在屏幕上打印多行。
其次,我想将这些值与正确的先前实现编号一起输出到摘要文件中。即我想要一个看起来像这样的文件:
1 3452 4538 325.5
2 4582 6853 158.2
...
100 4865 3589 15.15
谢谢你的帮助!