如何使用ncftp获取文件名列表?

时间:2019-01-29 15:02:30

标签: bash shell ncftp

所以我尝试了

ncftpls -l

这会给我一个列表

-rw-r--r--    1 100        ftpgroup      3817084 Jan 29 15:50 1548773401.tar.gz
-rw-r--r--    1 100        ftpgroup      3817089 Jan 29 15:51 1548773461.tar.gz
-rw-r--r--    1 100        ftpgroup      3817083 Jan 29 15:52 1548773521.tar.gz
-rw-r--r--    1 100        ftpgroup      3817085 Jan 29 15:53 1548773582.tar.gz
-rw-r--r--    1 100        ftpgroup      3817090 Jan 29 15:54 1548773642.tar.gz

但是我要做的只是检查时间戳记(这是tar.gz的名称) 如何仅获取时间戳列表?

根据要求,我要做的就是删除旧的备份,所以awk是个好主意(至少有效),即使它不是正确的参数。我删除旧备份的方法可能不是最好的方法,但它可行

ncftpls *authParams* | (awk '{match($9,/^[0-9]+/, a)}{ print a[0] }') | while read fileCreationDate; do
    VALIDITY_LIMIT="$((`date +%s`-600))"
    a=$VALIDITY_LIMIT
    b=$fileCreationDate
    if [ $b -lt $a ];then
        deleteFtpFile $b
    fi
done;

1 个答案:

答案 0 :(得分:1)

您可以使用awk仅显示输出中的时间戳,如下所示:

ncftpls -l | awk '{ print $5 }'