根据文件名对不同目录中的文件进行排序
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 {} {} \;
我的工作目录中有几个不同的目录,在每个子目录中,我都有一个以“.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 {} {} \;