如果可能的话,我正在寻找一个bash one行程序,它将标签为motif<number>.motif
的文件夹中的所有文件连接到一个output.txt
文件中。
我有几个问题要解决。
A:文件名中包含的<number>
可以是一个或两个数字长,我不知道如何使用regex(或类似的东西)来获取所有包含一个或两个数字的文件。我可以使用以下命令分别获取包含一位数或两位数的文件名:motif[0-9].motif
或motif[0-9][0-9].motif
但是不知道怎么把所有的文件都列在一起。
B:第二个问题是,我不知道目录中会有多少文件,所以我可以用一系列的数字来选择这些文件。这个命令在一个很长的管道中。
假设我有20个文件夹:motif1.motifmotif2.motif...motif19.motifmotif20.motif
我需要把它们的内容都输入到cat >>
中。
最佳答案
你可以:
cat motif{[0-9],[0-9][0-9]}.motif > output
或使用
extglob
:shopt -s extglob nullglob
cat motif[0-9]?([0-9]).motif > output