以数字和递增方式对文件进行排序

时间:2015-04-20 17:27:18

标签: linux sorting ls

所以,我在folderA中有1000个文件。

让我们说:

  

File_0001,File_0002,File_0003,File_0004,File_0005 ,. 。 。 ,File_1000

问题,如何每两个增量编号对这些文件进行排序,并将这些文件复制到另一个文件夹(folderB)。所以folderB中的文件将是这样的:

  

File_0002,File_0004,File_0006,File_0008,File_0010 ,. 。 。 ,File_1000

任何建议都会非常感激。

谢谢

3 个答案:

答案 0 :(得分:3)

您也可以使用简单的cp命令:

cp File_*[02468] folderB

答案 1 :(得分:1)

ls | sort | xargs -n2 echo | awk '{print $2}' | xargs -I '{}' echo mv '{}' /folderB

诀窍是使用| xargs -n2 echo | awk '{print $2}'来获得偶数行。

答案 2 :(得分:1)

根据实际需要,我会说@ demostene的回答可能是正确的。如果OP实际上想要列表中的备用文件,不管可能跳过的数字,那么

cp $(ls | awk 'NR%2 == 0 {print $0}') folderB

似乎可以解决这个问题。请注意每个第三,第四或第N个文件的明显扩展名。