ฉันจะไพพ์ไฟล์ที่ดาวน์โหลดไปยังเอาต์พุตมาตรฐานใน bash ได้อย่างไร


31

เป็นไปได้อย่างไรที่จะดึงwgetไฟล์ที่ดาวน์โหลดมาออกมา? ถ้าไม่ใช่ทางเลือกอื่นฉันควรใช้อะไร?

คำตอบ:


47
wget -O - -o /dev/null  http://google.com

11
-o / dev / null จำเป็นเฉพาะถ้าคุณไม่สนใจข้อผิดพลาดอย่างแท้จริงเนื่องจากไม่มีข้อผิดพลาดนั้นจะถูกเขียนไปยัง stderr (ในขณะที่ไฟล์ถูกเขียนไปยัง stdout)
Greg Hewgill

ขวา. หรือคุณสามารถตรวจสอบรหัสข้อผิดพลาด ... ตราบใดที่คุณส่งออกไปยังไฟล์ไม่ใช่คำสั่งอื่น
pQd

AFAIK ไม่จำเป็นต้อง -o / dev / null เพราะมันไปที่ stderr อยู่ดี
มิลานBabuškov

10
คุณสามารถใช้wget -qO- $URLเพื่อทำให้สิ่งต่าง ๆ ง่ายขึ้น
Oli

wget -qO- $URLใช้งานได้หากคุณใช้ Wget บน Windows
Chris S


6

มีวิธีอื่น ๆ ที่คุณสามารถใช้แทน wget และ curl:

คุณสามารถใช้คม:

# lynx -source http://www.google.com

w3m:

# w3m -dump_source http://www.google.com

และ libwww-perl มาพร้อมกับโปรแกรมพกพาที่เรียกว่า GET (เช่นเดียวกับ HEAD และ POST ซึ่งทำในสิ่งที่คุณคิดว่าทำ)

# GET http://www.google.com

1
ไม่เหมือนใคร แต่ฉันใช้คมในสคริปต์ของฉันเพื่อแยกวิเคราะห์ HTML โดยอัตโนมัติเมื่อใดก็ตามที่ฉันต้องการเนื้อหาของหน้าเว็บและไม่สนใจเรื่องมาร์กอัป มันยอดเยี่ยมสำหรับเรื่องนั้น
Matt Simmons

แน่นอนทั้งคมและ w3m มีตัวเลือกการถ่ายโอนข้อมูล ฉันชอบ w3m สำหรับการรองรับตารางและเฟรม
David Pashley

0

เพียงเพื่อเพิ่มตัวเลือกอื่น: ฉันมักใช้ lwp-request จาก libwww-perl สำหรับสิ่งนี้ มันส่งออกไปยัง STDOUT โดยค่าเริ่มต้นและมีแนวโน้มมากกว่าที่จะติดตั้ง curl ในระบบที่ฉันใช้ (สถานการณ์ของคุณแตกต่างกันไป)


FWIW, Mac OS มี curl (ไม่ใช่ wget) และฉันเชื่อว่า BSD อื่น ๆ ทำได้เช่นกัน เช่นเดียวกับระบบฝังตัว * nix จำนวนมากที่ฉันเคยใช้ ไม่แน่ใจว่า Perl เป็นเรื่องธรรมดาหรือไม่
ไวแอตต์ 8740


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.