使用 sftp 从 linux 机器列出远程 windows 机器上的特定文件
List specific files on a remote windows machine from a linux machine using sftp
当从 Linux 服务器
执行脚本时,使用一个脚本列出或输出 windows 机器目录中的特定文件
这是我们得到的当前脚本,它列出了 windows 目录中的所有内容,但我的要求是过滤掉需要的内容
echo "ls -l ${TARGET_ICT_DIR}\nquit\n" | sftp ${SFTP_LOGIN} | tee /tmp/ver_ict_rel_dest_${L_CURR_PID}.txt
以上命令输出 windows 目录中的所有文件,但我正在寻找仅搜索以下文件的文件:
anchor.jar
rename.txt
zipper.dat
请推荐
在管道中插入 grep 会成功吗?
echo "ls -l ${TARGET_ICT_DIR}\nquit\n" |
sftp ${SFTP_LOGIN} |
grep -E ' (anchor\.jar|rename\.txt|zipper.dat)\r?$' |
tee /tmp/ver_ict_rel_dest_${L_CURR_PID}.txt
不知道是否需要检查 \r -- 但是...Windows...另外,在评论中 @ghoti 指出 \r
可能无法很好地转换为所有版本的 grep 和 shell。如果你 运行 进入这样的状态,你可以尝试类似下面的方法:
echo "ls -l ${TARGET_ICT_DIR}\nquit\n" |
sftp ${SFTP_LOGIN} |
grep -E " (anchor\.jar|rename\.txt|zipper.dat)$(printf '\r')?$" |
tee /tmp/ver_ict_rel_dest_${L_CURR_PID}.txt
(ls -l | grep -E ...
部分的两个变体都使用 dash 和 bash[=26= 进行了测试] 在 Linux.)
我用了下面一个,满足了我的条件
echo "ls -l {anchor.jar,rename.txt,zipper.dat} ${TARGET_ICT_DIR}\nquit\n" | sftp ${SFTP_LOGIN} | tee /tmp/ver_ict_rel_dest_${L_CURR_PID}.txt
当从 Linux 服务器
执行脚本时,使用一个脚本列出或输出 windows 机器目录中的特定文件这是我们得到的当前脚本,它列出了 windows 目录中的所有内容,但我的要求是过滤掉需要的内容
echo "ls -l ${TARGET_ICT_DIR}\nquit\n" | sftp ${SFTP_LOGIN} | tee /tmp/ver_ict_rel_dest_${L_CURR_PID}.txt
以上命令输出 windows 目录中的所有文件,但我正在寻找仅搜索以下文件的文件:
anchor.jar
rename.txt
zipper.dat
请推荐
在管道中插入 grep 会成功吗?
echo "ls -l ${TARGET_ICT_DIR}\nquit\n" |
sftp ${SFTP_LOGIN} |
grep -E ' (anchor\.jar|rename\.txt|zipper.dat)\r?$' |
tee /tmp/ver_ict_rel_dest_${L_CURR_PID}.txt
不知道是否需要检查 \r -- 但是...Windows...另外,在评论中 @ghoti 指出 \r
可能无法很好地转换为所有版本的 grep 和 shell。如果你 运行 进入这样的状态,你可以尝试类似下面的方法:
echo "ls -l ${TARGET_ICT_DIR}\nquit\n" |
sftp ${SFTP_LOGIN} |
grep -E " (anchor\.jar|rename\.txt|zipper.dat)$(printf '\r')?$" |
tee /tmp/ver_ict_rel_dest_${L_CURR_PID}.txt
(ls -l | grep -E ...
部分的两个变体都使用 dash 和 bash[=26= 进行了测试] 在 Linux.)
我用了下面一个,满足了我的条件
echo "ls -l {anchor.jar,rename.txt,zipper.dat} ${TARGET_ICT_DIR}\nquit\n" | sftp ${SFTP_LOGIN} | tee /tmp/ver_ict_rel_dest_${L_CURR_PID}.txt