根据文件名对不同目录中的文件进行排序

Sort files in different directories based on file name

我的工作目录中有几个不同的目录,在每个子目录中,我都有一个以“.breaks.bed”结尾的文件,看起来像这样:

1       93961   93962   sample_1           1
1       115757  115758  sample_2           5
1       115796  115797  sample_3           68
1       713966  713967  sample_4           7

我想 select 这些文件基于上面的扩展名,然后按第 5 列对它们进行排序并从高到低排序(无需创建新的输出文件),如下所示:

1       115796  115797  sample_3           68
1       713966  713967  sample_4           7
1       115757  115758  sample_2           5
1       93961   93962   sample_1           1

到目前为止,我最初的尝试是尝试使用 find,然后是 sort。我认为这很接近,但还不够。

find . -name "*.break.bed" -type f sort -o,-k5,5nr "*.break.bed"{,}

一如既往,我们将不胜感激!

您似乎在寻找

find . -name "*.break.bed" -type f -exec sort -k5,5nr -o {} {} \;