ดังนั้นฉันมี curl
ที่ถูกส่งไปยัง grep
และ sed
.
ฉันจะสมัครที่ไหน >/dev/null 2>&1
?
curl www.site.com | grep stuff | sed "other stuff"
ในตอนท้ายหรือหลังขด
ดังนั้นฉันมี curl
ที่ถูกส่งไปยัง grep
และ sed
.
ฉันจะสมัครที่ไหน >/dev/null 2>&1
?
curl www.site.com | grep stuff | sed "other stuff"
ในตอนท้ายหรือหลังขด
คำตอบ:
โปรดระบุให้ชัดเจนยิ่งขึ้นว่าอะไรคือจุดประสงค์ของคำสั่ง ฉันเดาว่าคุณต้องการใช้
curl -s www.site.com
เพื่อป้องกันการบ่งชี้ความคืบหน้าและสิ่งอื่น ๆ - s จะดำเนินการกระทำเดียวกัน แต่เงียบ ๆ
หากคุณต้องใช้ & gt; / dev / null 2 & gt; & amp; 1 ฉันคิดว่าฉันจะเปลี่ยนเส้นทาง curl output ไปที่ไฟล์
curl www.site.com -o file.txt >/dev/null 2>&1
cat file.txt | grep stuff | sed "other stuff"
เพิ่งอธิบายให้ใกล้ขึ้น: >/dev/null
เปลี่ยนเส้นทาง STDOUT (เอาต์พุตมาตรฐาน) ไปที่ "black hole" และ 2>&1
ผนวก STDERR (เอาต์พุตข้อผิดพลาดมาตรฐาน) กับ STDOUT ดังนั้นจึงไปที่เนอร์วาน่า สิ่งนี้จะไม่แสดงอะไรเลย: เอาต์พุตปกติรวมถึงข้อผิดพลาดจะหายไป ดังนั้นสิ่งที่คุณอาจจะ อาจ อาจจะต้องการ
curl -s www.site.com 2>/dev/null | grep stuff | sed "other stuff"
เช่นไม่เปลี่ยนเส้นทาง STDOUT เพียงแค่หยุด STDERR และบอกให้ curl แสดงเฉพาะเนื้อหาที่มีการอ้างอิงเท่านั้นจากนั้นจึงส่งไปที่ grep และในที่สุดก็จะหยุดชะงัก
ดูแลให้ดี ไม่ แนะนำช่องว่างระหว่าง "2 & gt;" หรือ 2 จะถูกตีความว่าเป็นพารามิเตอร์เพิ่มเติมเพื่อ curl;)
ฉันวิ่งข้ามสิ่งที่คล้ายกันเมื่อเร็ว ๆ นี้และต้องใช้เวลานานแค่ไหนในการโหลดหน้าเว็บเฉพาะ ฉันเพิ่งใช้ /dev/null
เป็นไฟล์ที่ส่งออกของฉันและให้ฉันได้รับสถิติที่ดีโดยไม่ต้องพิมพ์ใด ๆ ของ HTML
curl www.google.com -o /dev/null
สำหรับตัวฉันเองฉันก็ห่อไว้ด้วย time
คำสั่งสำหรับข้อมูลพิเศษ
time (curl www.google.com -o /dev/null)
curl -sw '%{http_code}' www.example.com | tail -n 1
ฉันชอบสิ่งนี้ในกรณีที่หน้าส่งคืนข้อความซึ่งบางครั้งเกิดขึ้นเช่นเมื่อม้วนพอร์ตไดรเวอร์ MongoDB
/dev/null
และท่อผ่าน grep
?