如何使用 SFTP ls 命令显示子目录
How to show subdirectories using SFTP ls command
我正在尝试获取文件夹中的子目录列表
echo "ls -1 /path/to/folder/*/" | sftp -i /path/to/key user@host | grep -v 'sftp>'
如果有多个子目录,我得到子目录列表:
/path/to/folder/subdirectory1/
/path/to/folder/subdirectory2/
如果只有一个子目录,我什么也得不到。
感谢您的建议。
注意:不允许使用 SSH
If there is only one subdirectory I get nothing.
如果只有一个子目录是空的,你应该什么也得不到,因为ls
如果给定一个目录参数列出其内容。使用普通的 ls
我们可以简单地通过选项 -d
解决这个问题,但不幸的是 sftp
的 ls
没有那个选项。我想到的唯一方法是从长列表中过滤所需的目录:
echo "ls -l /path/to/folder" | sftp -i /path/to/key user@host | awk '/^d/{print "/path/to/folder/"$NF}'
我正在尝试获取文件夹中的子目录列表
echo "ls -1 /path/to/folder/*/" | sftp -i /path/to/key user@host | grep -v 'sftp>'
如果有多个子目录,我得到子目录列表:
/path/to/folder/subdirectory1/
/path/to/folder/subdirectory2/
如果只有一个子目录,我什么也得不到。
感谢您的建议。
注意:不允许使用 SSH
If there is only one subdirectory I get nothing.
如果只有一个子目录是空的,你应该什么也得不到,因为ls
如果给定一个目录参数列出其内容。使用普通的 ls
我们可以简单地通过选项 -d
解决这个问题,但不幸的是 sftp
的 ls
没有那个选项。我想到的唯一方法是从长列表中过滤所需的目录:
echo "ls -l /path/to/folder" | sftp -i /path/to/key user@host | awk '/^d/{print "/path/to/folder/"$NF}'