需求:ftp获取远程数据的文件,根据文件的创建时间点下载文件。 可以自行扩展根据文件的大小等其他需求。

知识点总结:

1、获取文件的时间:

ls -lrt|awk '{print $6" "$7" "$8}'

时间内容:

Sep  8 16:03

2、时间格式转换

date -d "Sep 8 16:03" +%Y%m%d%H%M

转换结果:

201709081603

3、指定文件名,正则匹配

pattern="${month}.*.dat$"

ls -lrt |awk '$9 ~ /'$pattern'/ {print $6" "$7" "$8}'

注意awk里面模式变量用'  '括起来,.*为任意字符,$表示以dat结尾。pattern的内容根据需求自行设定

4、对文件时间进行比较

ls -lrt |awk '$9 ~ /'$pattern'/ {\

ctime="date -d \""$6" "$7" "$8"\" +%Y%m%d%H%M"; \

ctime|getline filetime; if( filetime > '$checktime' ) print $9 ; }

获取文件的时间,对时间进行转换,然后对转换后的时间与给定的$checktime进行比较,如果比$checkime的时间大,则显示文件名。

|getline 为执行命令获取命令执行的结果。

以上就完成了对本地文件时间进行比较的方法。接下来判断远程主机的文件时间。

5、ftp命令登录远程主机,并过滤得到要查询的文件内容

ftp_cmd(){

ftp -i -n <

open $ftp_ip

user $get_user $get_pwd

binary

cd ${get_dir}

lcd ${local_dir}

$*

bye

!

}

pattern="${month}.*.dat$"

files=$(ftp_cmd ls -lrt |awk '$9 ~ /'$pattern'/ {\

ctime="date -d \""$6" "$7" "$8"\" +%Y%m%d%H%M"; \

ctime|getline filetime; if( filetime > '$checktime' ) print $9 ; }'|xargs)

通过函数调用实现ftp到指定主机,cd到指定目录,通过awk获取ls -lrt的结果,然后计算时间,把大于指定时间的文件名获取到。

6、下载文件

ftp_cmd mget $files

总结

以上所述是小编给大家介绍的Linux shell ftp命令根据文件日期下载文件的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对找一找教程网网站的支持!

linux ftp 查找文件,Linux shell ftp命令根据文件日期下载文件的方法相关推荐

  1. linux脚本输出到文件,在linux下,如何将shell里输出的信息写入到文件里呢?

    在linux下,如何将shell里输出的信息写入到文件里呢? 在linux下,如何将shell里输出的信息写入到文件里呢? 通过下面的两个管道符可以实现些功能. >               ...

  2. linux在文件里写入,在linux下,如何将shell里输出的信息写入到文件里呢?

    在linux下,如何将shell里输出的信息写入到文件里呢? 通过下面的两个管道符可以实现些功能. >               将信息写入文件 >>             在现 ...

  3. MobaXterm连接远程服务器,使用Linux命令行上传下载文件

    文章目录 一.MobaXterm连接远程服务器 二.Linux命令行上传和下载文件 三.服务器挂载U盘传输文件 四..ipynb文件转化为.py文件 五.关闭本地电脑,服务器运行python 项目 问 ...

  4. c#ftp操作全解:创建删除目录,上传下载文件,删除移动文件,文件改名,文件目录查询

    全栈工程师开发手册 (作者:栾鹏) c#教程全解 c#实现ftp的操作.包括创建删除目录,上传下载文件,删除移动文件,文件改名,文件目录查询. 在调试ftp前,需要在目标主机上开启ftp功能.这里在本 ...

  5. 中文linux(Ubuntu)下让date命令显示英语日期

    Question 操作系统为中文,所以date显示都是中文.但是又无法更改操作系统的语言,因为还是要使用中文系统的. Solution localhost:dist Sean$ date 2018年 ...

  6. 在SecureCRT使用sz与rz命令上传、下载文件命令介绍

    在SecureCRT使用sz与rz命令上传.下载文件命令介绍    一.简介 借助securtCRT,使用linux命令sz可以很方便的将服务器上的文件下载到本地,使用rz命令则是把本地文件上传到服务 ...

  7. win10如何使用命令行通过URL下载文件?

    win10如何使用命令行通过URL下载文件? 1.启动powershell 启动powershell有多种方法,介绍两种: 方法一  快捷键win+R,输入powershell,启动powershel ...

  8. linux curl 命令 http请求、下载文件、ftp上传下载

    1. curl 命令简介 cURL(CommandLine Uniform Resource Locator),是一个利用 URL 语法,在命令行终端下使用的网络请求工具,支持 HTTP.HTTPS. ...

  9. linux中的变量文件路径,Linux库文件和Shell可执行程序命令文件搜索路径变量的设置...

    一.库文件的搜索路径: 1.在配置文件/etc/ld.so.conf中指定动态库搜索路径(需要添加其它库文件的路径,在文件的最后添加具体的路径即可 [ 如:/usr/local/lib ],添加后保存 ...

最新文章

  1. 微服务开源项目ServiceComb 毕业成为Apache顶级项目
  2. Nginx禁止通过IP,未绑定域名访问服务器
  3. C语言怎么读取串口的数据为,如何通过串口来读写数据,请教达人
  4. mysql insert 自增_MySQL自增列插入0值的解决方案
  5. c 语言 指针 指向数组,C 指向数组的指针
  6. python 枚举类型_Python枚举类
  7. Gitee同步GitHub仓库如何操作
  8. Flash在浏览器里调试获取trace
  9. 21天Jmeter打卡Day8 get/delete/put之间的请求
  10. 暗黑模式开发一些心得
  11. APIS IQ FMEA 试用版安装包和“破解”(去除60天使用限制)
  12. 分期手续费率转换成年利率
  13. 深圳移动 神州行(大众卡/轻松卡/幸福卡)套餐资费(含香港日套餐)信息及使用方法...
  14. 一个女留学生在美国的七年
  15. 网页中审查元素与查看网页源代码的区别
  16. 台积电创始人张忠谋:英特尔不会重回巅峰;马斯克加入“催生”大军;2021国民年度十大流行语 | EA周报...
  17. 游戏开发入门(三)图形渲染
  18. 小小靖Java成长日记02
  19. 什么是redis?为什么要用redis?(redis的概述)
  20. 【diannaoxitong】查看路由器ADSL帐号密码方法

热门文章

  1. 基于JAVA+SpringBoot+Mybatis+MYSQL的化妆品售卖系统
  2. 基于JAVA+SpringMVC+Mybatis+MYSQL的社区养老服务网站
  3. 全文检索工具包Lucene
  4. 三分钟学会.NET微服务之Polly
  5. html5新增表单控件和表单属性
  6. 计算机指令就是一串开关吗,什么是非法关机?常按计算机开关,还是直接拔掉电源插头才算啊?...
  7. c语言结果输出10遍,C语言 如何实现输出这样一系列输出结果
  8. 最全使用SQL Server创建、配置数据库的各种方法和注意细节
  9. cmd中python -V版本显示不出来
  10. Python+matplotlib自定义坐标轴位置、颜色、箭头