我有一个文本文件(digit.txt),它由一列包含三个数字组成,其范围是001-.365。在同一个目录中,我有数据文本文件。这些数据文件的文件名如下所示,jplg3240.18i。只有jplg部分是常数。我需要订购jplg数据文件w.r.t。使用文件名的前5-7个字符在digit.txt文件中的数字,并将它们存储在另一个文本文件中。例如:
digit.txt=
005
301
350
005
010
data files= jplg001.18i.txt, jplg005.18i.txt, jplg301.18i.txt, jplg350.18i.txt,jplg010.18i.txt, jplg365.18i.txt输出文件应该是这个文件:
output=
jplg005.18i
jplg301.18i
jplg350.18i
jplg005.18i
jplg010.18i发布于 2019-01-08 09:46:04
如果您的问题是连接来自digit.txt中列出的文件的数据,那么答案是:
ls jplg* | grep -f digit.txt | xargs cat >out.dat懒散的:
ls jplg*:列出您想要的所有文件的超集(如果需要,您可以对其进行更严格的限制)。grep -f digit.txt只保留在digit.txt中包含一个数字的行(这假设文件名中的三位数字不出现在其他任何地方)xargs cat:将cat应用于grep输出中列出的所有文件https://askubuntu.com/questions/1107892
复制相似问题