sftpコマンドを使用してリモートディレクトリのファイル数を取得する方法

sftpコマンドを使用してリモートディレクトリのファイル数を取得する方法

SFTPサーバーがあります([Eメール保護])。それに接続して、以下を含むファイルを検索しようとしています。。 txtパス(/files/base/incomming)から(.txt)を含む各ファイルの行数を取得します。次のコマンドを使用してこれを達成しようとしましたが、無効なコマンドで発生しました。

 echo "wc -l *.txt*"|sftp -q [email protected]:/files/base/incomming

 o/p
 sftp>
 invalid command 

この問題を解決する方法はありますか?

ベストアンサー1

sftpシェルはフォークされないため、一般的なコマンドは使用できません。合格できると仮定すると、ssh次のものを使用できます。

ssh [email protected] 'ls /files/base/incomming/*.txt' | wc -l

または

ssh [email protected] 'ls /files/base/incomming/*.txt | wc -l'

質問に記載されている作業を完了してください。

(何らかの理由で)使用するには、いずれかのコマンドをsftp使用する必要があります(相手がワイルドカードを処理する方法を知っていることを願っていますftp)。ftpd

echo 'ls -l /files/base/incomming/*.txt' | sftp [email protected] | wc -l

おすすめ記事