ฉันอยากได้df -h
เอาท์พุทสามบรรทัดเท่านั้น
ฉันควรใช้คำสั่งชนิดใด
ฉันอยากได้df -h
เอาท์พุทสามบรรทัดเท่านั้น
ฉันควรใช้คำสั่งชนิดใด
คำตอบ:
สิ่งนี้จะส่งออกบรรทัดที่ 3 โดยไม่คำนึงถึงเนื้อหา
df -h | sed -n 3p
df -h|sed -n 3p
สำหรับคำตอบที่มีขนาดเล็กที่สุด:
df
คำสั่งจริงยอมรับข้อโต้แย้งระบุระบบแฟ้มที่คุณต้องการ เพื่อให้คุณสามารถใช้ตัวอย่างเช่นหรือdf /home
df /dev/sda3
หากคุณตั้งใจที่จะแยกวิเคราะห์ผลลัพธ์ของสคริปต์คุณจะต้องใช้df -P
เพื่อรับประกันว่ามันจะไม่พันกันหลายบรรทัด ตัวอย่างเช่นคุณสามารถใช้df -Ph /home | tail -n +2
(แต่ถ้าคุณแยกวิเคราะห์ผลลัพธ์สำหรับสคริปต์ให้ระวังความเป็นไปได้ของชื่อไฟล์ที่มีช่องว่างในตัว)
df /home
ให้ส่วนหัว คุณกำลังตีความวัตถุประสงค์ของผู้ใช้ คุณอาจจะถูก คุณอาจจะผิดใครจะรู้?
tail -n +2
ลบส่วนหัว
คุณสามารถใช้การรวมกันของhead
และtail
:
df -h | head -3 | tail -1
หรือ
df -h | tail -n +3 | head -1
แต่โปรดทราบว่าdf
อนุญาตให้กรองผลลัพธ์จากตัวเลือกของdf
ตัวเองคุณควรดูสิ่งเหล่านั้นก่อนที่จะใช้คำสั่งภายนอก
man df
ตรวจสอบ
Awk เป็นเครื่องมือประมวลผลข้อความดังนั้นจึงเหมาะสำหรับงานนี้
df -h | awk 'NR == 3'
ฉันคิดว่าคุณไม่จำเป็นต้องมองหาบรรทัดที่สาม แต่สำหรับบรรทัดที่กล่าวถึงดิสก์เฉพาะ (เช่น/dev/sda3
) หรือจุดเชื่อมต่อที่เฉพาะเจาะจง (เช่น/home
)
ดังนั้นแทนที่จะแสดงบรรทัดที่สามซึ่งไม่ปลอดภัยเนื่องจากลำดับผลลัพธ์อาจเปลี่ยนแปลงและคุณอาจได้รับผลลัพธ์ที่แตกต่างกันคุณสามารถกรองผลลัพธ์ตามเนื้อหาและแสดงเฉพาะบรรทัดที่ตรงกับรูปแบบเฉพาะหรือมีคำหลัก
grep
เครื่องมือของคุณสำหรับเรื่องนี้คือ
ตัวอย่างเช่นหากคุณต้องการบรรทัดเกี่ยวกับอุปกรณ์/dev/sda3
คุณพิมพ์:
df -h | grep '/dev/sda3'
หากคุณต้องการให้บรรทัดที่กล่าวถึงโฮมไดเร็กตอรี่ของคุณเป็นจุดเชื่อมต่อใช้:
df -h | grep '/home'
df -h /dev/sda3
หรือdf -h /home
(หลังใช้งานได้แม้ว่าจะไม่ใช่จุดเชื่อมต่อ)
คุณสามารถใช้perl
:
df -h | perl -ne 'print if $.==3'
เป็นจำนวนบรรทัดปัจจุบันเพื่อให้คุณสามารถพิมพ์เส้นชับด้วย$.
perl -ne 'print if $.==N'
ความคิดแรกของฉันน่าจะเป็นแบบสร้างหัว
ตัวอย่าง:
df -h | head -3 | tail -1
head -3
ทำให้เอาต์พุตหยุดหลังจากสามบรรทัดและtail -1
จะเอาต์พุตเฉพาะบรรทัดสุดท้ายเท่านั้น
หรือถ้าคุณรู้ว่าลักษณะของเอาต์พุตจะเป็นอย่างไรคุณสามารถใช้grep
เพื่อค้นหาบรรทัดที่มีสตริงที่แน่นอน