ฉันพยายามค้นหาคำสั่งที่คล้ายกันในncftp
(อันที่จริงนี่เป็นไคลเอ็นต์เทอร์มินัล ftp เดียวที่ฉันใช้) และฉันไม่พบมัน
มีวิธี (ถ้าเป็นไปได้ทั้งหมด) ในการใช้grep
คำสั่งบนเซิร์ฟเวอร์ระยะไกลเพื่อค้นหาสตริงในไฟล์อะไร
ฉันพยายามค้นหาคำสั่งที่คล้ายกันในncftp
(อันที่จริงนี่เป็นไคลเอ็นต์เทอร์มินัล ftp เดียวที่ฉันใช้) และฉันไม่พบมัน
มีวิธี (ถ้าเป็นไปได้ทั้งหมด) ในการใช้grep
คำสั่งบนเซิร์ฟเวอร์ระยะไกลเพื่อค้นหาสตริงในไฟล์อะไร
คำตอบ:
โปรโตคอล ftp มาตรฐานไม่อนุญาต (คุณสามารถตรวจสอบรายการคำสั่ง ) ดังนั้นคุณจะต้องดาวน์โหลดทุกอย่างเพียงเพื่อให้สามารถ grep มัน
คุณสามารถใช้curlftpfsเพื่อติดตั้ง ftp ระยะไกลเป็นดิสก์ภายในเครื่องและจัดการกับไฟล์เช่นเดียวกับในเครื่องของคุณ
คุณควรติดตั้งไดเรกทอรี FTP ระยะไกลเพื่อทำสิ่งนี้อย่างไรก็ตามได้รับการเตือนว่าไฟล์ทั้งหมดที่คุณ grep จะต้องดาวน์โหลดสำหรับการดำเนินการนี้
SSH ลงในเครื่องระยะไกลและเรียกใช้ grep ผ่านที่นั่นถ้าเป็นไปได้เพื่อประหยัดแบนด์วิดท์
สมมติว่าคุณกำลังใช้ ftp อย่างง่ายผ่านทางบรรทัดคำสั่งใช้คำสั่ง dir พร้อมกับตัวเลือก -Rl เพื่อค้นหาแบบซ้ำ ๆ และคัดลอกไปยังไฟล์แล้วค้นหาไฟล์โดยใช้ grep, find หรือวิธีอื่น ๆ ที่ระบบปฏิบัติการของคุณรองรับ
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
โดยใช้ lftp
ก่อนคว้าทุกอย่างจาก ftp ไปยังไฟล์
$ lftp http://downloads.site.com/sources> find . > sources-list.txt
ดำเนินการ grep ต่อไปบนไฟล์:
$ grep FILE sources-list.txt