gpt4 book ai didi

shell - 使用 UNIX Shell 脚本保留最新文件并将旧文件移动到文件夹

转载 作者:行者123 更新时间:2023-12-03 21:32:41 26 4
gpt4 key购买 nike

我的文件夹中有很多文件( File Format: ABC_YYYYMMDD.TXT )。

- ABC_20150101.TXT 
- ABC_20150201.TXT
- ABC_20150301.TXT
- ABC_20150501.TXT

我需要如下输出。
- ABC_20150101.TXT - Moved to a folder name ARCHV in current path.
- ABC_20150201.TXT - Moved to a folder name ARCHV in current path.
- ABC_20150301.TXT - Moved to a folder name ARCHV in current path.
- ABC_20150501.TXT - Kept in the current path, since it is latest.

这是保存在当前文件夹中的最新文件。但其他文件将被移动到当前工作目录中名为 /ARCHV 的另一个文件夹中。 .
请让我知道 UNIX声明做任务。
谢谢

最佳答案

这是一个快速解决方案,它依赖于一些已安装的程序:

$ find -maxdepth 1 -type f -iname 'ABC*.TXT' -printf '%T@|%p\n' | sort -r -n | tail -n +2 | cut -d'|' -f2 | xargs -i mv {} ARCHV
  • find打印带有前面的 unix 时间戳的文件名
  • sort按时间戳排序
  • tail删除第一个(最近的文件)
  • cut仅采用文件名(删除时间戳)
  • xargs mv移动文件
  • 关于shell - 使用 UNIX Shell 脚本保留最新文件并将旧文件移动到文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32693743/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com