#!/bin/bash
# 连上ftp 服务器, 相关的文件列表下载到本地 fileList.txt
ftp -v -n 192.168.20.8<<EOF
user 用户名 密码
dir /指定目录/*部分文件名* fileList.txt
bye
EOF
# awk '{print $9}' 用法
# 例如 : -rw------- 1 1002 50 28519125 Jul 22 07:06 package-20210722-1506.tar.gz
# $9 就是空格分隔后的第9个参数, 也就是 package-20210722-1506.tar.gz
# 如果只要部分, 则用 awk '{print substr($a, b, c)}' 截取
# sort -r 倒序排序 (别的排序规则 自行百度)
# head -1 取第一行
fileName=$(cat filelist.txt | grep 过滤出来的字符 | awk '{print $9}' | sort -r | head -1)
echo "fileName: $fileName"
cd /opt
wget ftp://192.168.20.8/指定目录/$fileName --ftp-user=用户名 --ftp-password=密码
echo "最新文件下载完毕 : $fileName"
exit 0
在这里插入代码片