如果可能的话,我正在寻找一个bash one liner,它可以将文件夹中标记为motif<number>.motif的所有文件连接到一个output.txt文件中。
我有几个问题我正在努力解决。
答:文件名中包含的<number>可以是一个或两个数字的长度,我不知道如何使用正则表达式(或类似的东西)来获得一个或两个数字的所有文件。我可以使用以下命令分别获取包含一位或两位数字的文件名:
motif[0-9].motif或motif[0-9][0-9].motif
但是不知道如何把所有的文件列在一起。
B:我遇到的第二个问题是,我事先不知道目录中会有多少个文件,所以我只能用一个数字范围来选择文件。此命令处于一个长管道的中间。
假设我有20个文件夹:
motif1.motif motif2.motif ... motif19.motif motif20.motif
我需要将所有这些文件的内容cat >>到output.txt中。
发布于 2018-01-31 23:16:03
您可以执行以下操作:
cat motif{[0-9],[0-9][0-9]}.motif > output或使用extglob
shopt -s extglob nullglob
cat motif[0-9]?([0-9]).motif > outputhttps://stackoverflow.com/questions/48545394
复制相似问题