【问题标题】:Sorting file numerically and incrementally以数字方式和增量方式对文件进行排序
【发布时间】:2015-06-27 13:34:17
【问题描述】:

所以,我在一个文件夹 A 中有 1000 个文件。

假设:

文件_0001、文件_0002、文件_0003、文件_0004、文件_0005、。 . . , 文件_1000

问题,如何将这些文件每两个递增数排序,并将这些文件复制到另一个文件夹(文件夹B)中。这样文件夹B中的文件就会是这样的:

文件_0002、文件_0004、文件_0006、文件_0008、文件_0010、。 . . , 文件_1000

任何建议将不胜感激。

谢谢

【问题讨论】:

  • 您想要奇数和偶数,还是想要两套相同尺寸的?

标签: linux sorting ls


【解决方案1】:
ls | sort | xargs -n2 echo | awk '{print $2}' | xargs -I '{}' echo mv '{}' /folderB

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

【讨论】:

    【解决方案2】:

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

    cp File_*[02468] folderB
    

    【讨论】:

    • 傻,很简单,我怎么没想到。哈哈。谢谢demostene
    • @user3006147 没问题!谢谢你接受我的回答:)
    【解决方案3】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-28
      • 2011-11-12
      • 1970-01-01
      • 2018-11-30
      相关资源
      最近更新 更多