有没有办法从 Unix 服务器中的 SFTP 打印带有路径的文件名?

有没有办法从 Unix 服务器中的 SFTP 打印带有路径的文件名?

我正在尝试打印文件名以及从 SFTP 服务器到其他位置的路径。我能够获取文件名但无法获取路径。以下是我使用的代码:

echo "ls *.gpg" | sftp [email protected]:/SXMPMX/INBOUND/FORDCOI_CONT_RESP > $Path/sample.txt

请告诉我有什么方法可以解决我的问题。

答案1

总的来说,很多事情都可以变得更容易保险丝

使用 FUSE 并在本地处理路径,使用本地工具,例如find。这与我的另一个关于 FTP 的回答, 您只需sshfs代替curlftpfs

在你想要的地方安装一个 SFTP 共享/some/mountpoint/,然后使用cd

realpath --relative-to /some/mountpoint/ *.gpg

例子:

$ sshfs [email protected]:/ /some/mountpoint/
$ cd /some/mountpoint/SXMPMX/INBOUND/FORDCOI_CONT_RESP
$ realpath --relative-to /some/mountpoint/ foo.gpg   # assuming the file exists
SXMPMX/INBOUND/FORDCOI_CONT_RESP/foo.gpg

相关内容