Bagaimana cara melakukan grep di FTP?

10

Saya mencoba mencari perintah serupa di ncftp(sebenarnya ini adalah satu-satunya terminal ftp client yang saya gunakan) dan saya tidak menemukannya.

Apa cara (jika mungkin sama sekali) menggunakan grepperintah pada server jauh, untuk mencari string dalam file?

Bojan Savic
sumber

Jawaban:

5

Protokol ftp standar tidak mengizinkannya (Anda dapat memeriksa daftar perintah ). Jadi, Anda harus mengunduh semuanya hanya untuk dapat memahami itu.

Stéphane Gimenez
sumber
5

Anda dapat menggunakan curlftpfs untuk me-mount ftp jarak jauh sebagai disk lokal dan memanipulasi dengan file seperti pada mesin lokal Anda.

buru-buru
sumber
2
Seperti halnya semua yang berbasis mount, ini berarti Anda akan mentransfer seluruh data ke host Anda sendiri.
Stéphane Gimenez
1
Ya, tentu saja. Tetapi itu juga tergantung pada tugas yang perlu Anda lakukan. Ketika Anda perlu grep sesuatu dalam kebanyakan kasus, Anda dapat mengabaikan file nontext (dan mereka tidak akan mentransfer) dan mungkin bagian dari file teks. Jadi dalam hal ini jumlah transfer Anda mungkin lebih rendah daripada jika Anda akan mentransfer seluruh data dari situs jarak jauh.
buru
4

Anda localy harus me-mount direktori FTP remote untuk melakukan hal ini, bagaimanapun, memperingatkan bahwa semua file yang Anda grep akan perlu didownload untuk operasi ini.

SSH ke mesin jarak jauh dan jalankan grep lewat sana, jika mungkin, untuk menghemat bandwidth.

WhyNotHugo
sumber
0

Dengan asumsi Anda menggunakan ftp sederhana melalui baris perintah, Gunakan perintah dir dengan opsi -Rl untuk mencari secara rekursif dan menyalinnya ke file dan kemudian mencari file menggunakan grep, temukan atau cara apa pun yang didukung pada OS Anda.

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
Nyengir
sumber
0

Dengan menggunakan lftp

Pertama ambil semuanya dari ftp ke file

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

Selanjutnya lakukan grep pada file:

$ grep FILE sources-list.txt
cy8g3n
sumber