【发布时间】:2017-03-01 15:21:20
【问题描述】:
我有一个目录中的文件列表。例如,下面的文件是每个文件的名称,第一行显示(每个文件中还有几行不重要)。
组 1:
8 325
quick brown fox jumped
Over the lazy dog
第二组:
8 560
There is more content here
第三组:
7 650
我想读取每个文件的第一行,检查第一个值是否等于 8,第二个值是否大于 500。如果满足此条件,则将文件名打印到新的文本文件中。
结果
Group2
我尝试过使用
for f in *.Group;
do head -n1 *.Group > new-file;
done
这给了我一个带有标题名称的文件和目录中每个文件的第一行
=> Group1 <=
8 325
=> Group2 <=
8 560
=> Group3 <=
7 650
现在,我想根据阈值过滤文件,但不知道如何将所有标题转换为第一列,将相应的值转换为第二列。然后很容易应用阈值并过滤文件。或者有更好的方法吗?
【问题讨论】:
-
您的文件也是如此,例如
Group1或Group1.Group? -
Group1, group2,.. 等等