【问题标题】:Shell Script - find command output sort based on time of file createdShell 脚本 - 根据创建文件的时间查找命令输出排序
【发布时间】:2017-06-27 07:20:21
【问题描述】:

我有一台 linux 服务器,我在其中获取大量文件(从一台客户端服务器每秒向该服务器推送 1000 个文件),我需要根据创建的文件下载这些文件。
1.需要避免当前写入文件(-cmin +1)
2.第二件事我需要启动文件的时间大于下载的最后一个文件。
查找命令似乎没问题,但按修改时间排序似乎不正确。
示例:我的脚本

var=$(date +"%Y-%m-%d %H:%M:%S" -r /home/DOWNLOADER/src/mon20170622_1_9.unl);touch --date "$var" /tmp/13;find /home/DOWNLOADER/src/ -newer /tmp/13  \! -cmin -1 -name "*.unl" -type f  -exec ls -ltr {} + | awk -F '/' '{print $NF}'


最后下载文件:/home/DOWNLOADER/src/mon20170622_1_9.unl

【问题讨论】:

  • 添加一个您得到的未正确排序的输出示例。
  • var=$(date +"%Y-%m-%d %H:%M:%S" -r /home/DOWNLOADER/mon20161109_309_6048_1.unl);touch --date "$var" /tmp/13;find /home/DOWNLOADER/src/ -newer /tmp/13 \! -cmin -1 -name "*.unl" -type f -exec ls -ltr {} + | awk -F '/' '{print $NF}' Result mon20170622_1_9.unl mon20170622_1_2.unl mon20170622_1_10.unl mon20170622_1_50.unl mon20170622_1_45.unl Actual Modified Date date -r mon20170622_1_9.unl Thu Jun 22 09:10:22 IST 2017,date -r mon20170622_1_50.unl,6 月 22 日星期四 09:10:32 IST 2017 date -r mon20170622_1_45.unl,6 月 22 日星期四 09:10:31 IST 2017

标签: linux bash shell sorting awk


【解决方案1】:
find -newer last_downloaded_file -cmin +1 -type f -printf "%C@ %p\n" |sort

【讨论】:

    猜你喜欢
    • 2015-10-27
    • 1970-01-01
    • 2017-01-18
    • 1970-01-01
    • 2021-10-05
    • 2016-08-26
    • 1970-01-01
    • 2020-06-12
    • 2016-01-19
    相关资源
    最近更新 更多