FTPでgrepを実行する方法は?


10

同様のコマンドを検索しましたがncftp(実際には、これが私が使用した唯一のターミナルFTPクライアントです)、見つかりませんでした。

grepリモートサーバーでコマンドを使用して、ファイル内の文字列を検索する方法(可能な場合)は何ですか?


回答:



5

あなたは使用することができますcurlftpfsをローカルディスクとしてリモートFTPをマウントし、ローカルマシン上のファイルなどを操作すること。


2
マウントベースのすべてのものと同様に、これはデータ全体を自分のホストに転送することを意味します。
ステファン・ヒメネス

1
はい、そうです。しかし、それは実行する必要のあるタスクにも依存します。ほとんどの場合、grepが必要な場合は、非テキストファイル(および転送されない)を無視して、テキストファイルの一部を無視できます。したがって、この場合、合計転送サイズは、リモートサイトからデータ全体を転送する場合よりも小さくなる可能性があります。
ラッシュ

4

これを行うには、リモートFTPディレクトリをローカルにマウントする必要があります。ただし、この操作を行うには、grep するすべてのファイルをダウンロードする必要があるという警告が表示されます。

リモートマシンにSSHで接続し、可能であれば、そこからgrepを実行して、帯域幅を節約します。


0

コマンドライン経由で単純なftpを使用していると仮定して、dirコマンドを-Rlオプション付きで使用して再帰的に検索し、それをファイルにコピーしてから、grep、find、またはOSでサポートされている方法でファイルを検索します。

ftp> dir -Rl education.txt
output to local-file: education.txt? y
227 Entering Passive Mode (9,62,119,15,138,239)
150 Opening ASCII mode data connection for file list
226 Transfer complete

0

を使用して lftp

まず、ftpからファイルまですべてを取得します。

$ lftp http://downloads.site.com/sources> find . > sources-list.txt

次に、ファイルに対してgrepを実行します。

$ grep FILE sources-list.txt
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.