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

関連情報