Я пытаюсь распечатать имена файлов вместе с путем с сервера 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