คำตอบนี้พยายามที่จะอยู่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 และทำให้พวกเขาข้ามผลที่ได้มาให้ฉัน