Как получить список имен файлов с помощью 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 ответ
Решение
Ты можешь использовать awk
чтобы отображать только временные метки из вывода, вот так:
ncftpls -l | awk '{ print $5 }'