SFTPを介してファイルのみをリストし、ファイルのみをリストする方法は?

SFTPを介してファイルのみをリストし、ファイルのみをリストする方法は?

実際にはファイル名を一覧表示できますが、そこでも望ましくない内容がたくさん出てきます。

> echo "ls *.txt" | sftp user@host:/dir
Connected to 1.1.1.1.
Changing to: /dir
sftp> ls *.txt
1.txt
2.txt
3.txt

ファイルのみをリストし、ファイルのみをリストする証明された信頼できる方法はありますか?可能であればhead同様のフィルタを使用しないでください。

ベストアンサー1

オプションを使用してはいと-q言うsftpキューueet、したがって、興味のないほとんどの出力を抑制します。

echo "ls *.txt" | sftp -q [email protected]:/path

たとえば、エコーしているインタラクティブプロンプト行は引き続き表示されますが、次を使用してその行sftp> ls *.txtをフィルタリングできますgrep -v

echo "ls *.txt" | sftp -q [email protected]:/path | grep -v '^sftp>'

最善の方法は、バッチファイルを使用してパイピングするのではなく、-bパラメータsftpと一緒に渡すことです。echo

もし本物あなたがしたいことはリストsshファイルを使用するよりも実際に優れている可能性がありますsftp(最終的にはいこれSエクールFエリーティー移動する プログラム):

ssh [email protected] ls -1 /path

おすすめ記事