【发布时间】:2016-11-07 21:29:38
【问题描述】:
我有两个文件。我正在搜索的输出文件有地震位置,格式如下:
19090212 1323 30.12 36 19.41 103 28.24 7.29 0.00 4 149 25.8 0.02 5.7 9.8 D - 0
19090216 1828 49.61 36 13.27 101 35.38 10.94 0.00 13 54 38.5 0.07 0.3 0.7 B 0
19090711 2114 54.11 35 1.07 99 56.42 7.00 0.00 7 177 18.7 4.00 63.3 53.2 D # 0
我想使用第一列的后 6 位数字(即“19090418”中的“090418”)和第二列的前 3 位数字(即“0728”中的“072”)作为我的搜索词.我正在搜索的文件格式如下:
SC17 P 090212132329.89
X25A P 090212132330.50
AMTX P 090216182814.12
X29A P 090216182813.70
Y28A P 090216182822.36
MSTX P 090216182826.80
Y27A P 090216182831.43
在第二个文件中搜索该术语后,我需要弄清楚该部分中有多少行。所以对于这个例子,如果我正在搜索上面第二个文件显示的术语,我想知道 090212132 有 2 行,090216182 有 5 行。
这是我的第一篇文章,所以请告诉我如何提高我的文章的清晰度或简洁性。感谢您的帮助!
【问题讨论】:
-
到目前为止你尝试了什么?
-
预期的结果是什么?
-
您的第一个文件不包含第二个文件的任何部分。请修正你的例子。暂时没有输出:
grep -f <(cut -b 3-8,10-12 file1) file2 -
您可以添加带有一些常见数据元素的输入文件,以便脚本具有真实的输出。
-
抱歉文件示例不匹配。我从文件的不同部分复制。这个例子现在应该更有意义了。感谢您指出这一点。