shell中将sftp的ls结果输出到文件

本文介绍了如何在shell脚本中将sftp的ls命令结果导出到文件,解决sftp不支持ls正则表达式的问题。通过先导出所有文件列表,再进行正则过滤,实现了从远程文件夹获取特定文件名的列表。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 问题

最近在改造shell脚本,需要将ftp协议升级成sftp,有以下一段功能代码,改造时遇到问题。下面这段代码要实现的大致功能是:通过在shell中生成动态脚本,将ftp中文件夹A下的满足AA*1(以AA开头,以1结尾)条件的文件列表导出到文件C,供后续使用

cat >$dynamicShell <<EOF
ftp -n<<!
open IP地址 端口
user 用户名 密码
binary
cd 文件夹A
prompt off
ls AA*1 文件B
close
bye
!
EOF
sh $dynamicShell

#因为上面导出的是详细信息,最后一列是文件名
awk '{print $NF}' 文件B > 文件C

原本打算简单点,直接转换成:

cat >$dynamicShell <<EOF
sftp -
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值