如果可能的话,我正在寻找一个bash one行程序,它将标签为motif<number>.motif的文件夹中的所有文件连接到一个output.txt文件中。
我有几个问题要解决。
A:文件名中包含的<number>可以是一个或两个数字长,我不知道如何使用regex(或类似的东西)来获取所有包含一个或两个数字的文件。我可以使用以下命令分别获取包含一位数或两位数的文件名:
motif[0-9].motifmotif[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

08-19 13:04