คำตอบนี้พยายามที่จะอยู่Yves ของเพ้อพกดังต่อไปนี้:
ฉันไม่ต้องการมีนามแฝงสำหรับชุดค่าผสมของตัวเลือกทุกตัว(1)
และ
แม้ว่ามันจะแสดง '/' เป็นสีแดง(2)
และ(3)
เพิ่มชิ้นส่วนสำคัญของข้อมูลลงในเอาท์พุทที่แตกต่างกันซึ่งเป็นdfบรรทัดส่วนหัวที่เปลี่ยนแปลงตามธงที่ให้มา
(1) คุณต้องการfunctionเพราะตามคำนิยามมันต้องใช้อาร์กิวเมนต์ และมันง่ายมากในการกำหนดและใช้ตามที่คุณจะพบด้านล่าง
(2) สีแดง/ผลิตโดยgrep --colorซึ่งเป็นนามแฝงทั่วไปสำหรับgrepตัวเอง (คุณสามารถตรวจสอบได้โดยการเรียกใช้alias)
รหัส
function df1
{
df $* | sed -n '1p;/^\//p;'
}
บรรทัดใหม่ด้านบนมีจุดประสงค์เพื่อปรับปรุงความสามารถในการอ่านคุณสามารถแทนที่ช่องว่างได้
~/.bashrcคัดลอกและวางตัวอย่างข้อมูลโดยตรงกับเซสชั่นทุบตีโต้ตอบหรือดียิ่งขึ้นผนวกที่คุณ
ตัวอย่างการใช้งาน
$ df1
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/disk1 487358464 316093104 171009360 65% /
/dev/disk2 524032 302620 221412 58% /Volumes/Packer
$ df1 -hT
Filesystem Type Size Used Avail Use% Mounted on
/dev/disk1 hfs 465G 302G 164G 65% /
/dev/disk2 hfs 512M 296M 217M 58% /Volumes/Packer
$ df1 -hT .
Filesystem Type Size Used Avail Use% Mounted on
/dev/disk1 hfs 465G 302G 164G 65% /
มันทำอะไร
ฟังก์ชั่นจะdf1เรียกใช้dfด้วยอาร์กิวเมนต์อะไรก็ตามที่คุณส่งผ่านและไพพ์( |) เอาต์พุตไปยังsedซึ่งถูกเรียกใช้ด้วย-nเพื่อยับยั้งการพิมพ์พื้นที่รูปแบบโดยอัตโนมัติ ส่วนที่เหลือเป็นการแสดงออกถึง "สคริปต์" sed สองอันที่จริงแล้ว:
- สคริปต์
1pพิมพ์บรรทัดที่ 1 ซึ่งในกรณีของเราคือdfส่วนหัว (ฉันใช้เหมือนกันกับการpsวางท่อ)
- สคริปต์
/^\//pตรงกับบรรทัดใด ๆ ที่ขึ้นต้นด้วย/จากนั้นพิมพ์
; แยก 2 sed script
df --type ntfsไม่ได้แสดงพาร์ติชั่น 5 ntfs และทำให้พวกเขาข้ามผลที่ได้มาให้ฉัน