我有一个由一列组成的文本文件(digit.txt),其中包括三个数字,其范围为 001-...365。在同一目录中,我有数据文本文件。这些数据文件的文件名如下,jplg3240.18i
. 只有jplg
部分是不变的。我需要jplg
使用文件名的前 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
在这里,while 循环可能有助于实现您的目标:
代码应该在文件所在的路径中运行,并根据结果为您提供文件 datafiles.txt 中的文件列表以及文件的完整名称(如果在文件 digit.txt 的列表中匹配)
如果您的问题是连接 digit.txt 中列出的文件中的数据,那么答案是:
慢动作:
ls jplg*
: 列出您想要的所有文件的超集(如果需要,您可以使其更具限制性)grep -f digit.txt
只保留包含一个数字的行digit.txt
(这假设这三个数字不会出现在文件名的其他任何地方)xargs cat
: 适用cat
于 grep 输出中列出的所有文件