この回答は、yvesの次の関心事に対処しようとします。
すべてのオプションの組み合わせにエイリアスを設定したくない(1)
そして
「/」は赤で表示されますが(2)
及び(3)
で変化する出力に情報の重要な部分を追加dfの供給されたフラグに応じて変化するヘッダ行。
(1)function定義上は引数を取るため、が必要です。また、以下で説明するように、定義と使用は非常に簡単です。
(2)赤/はgrep --color、それgrep自体に共通のエイリアスであるによって生成されます(これを実行すると確認できますalias)。
コード
function df1
{
df $* | sed -n '1p;/^\//p;'
}
上記の改行は読みやすさを向上させるためのもので、スペースで置き換えることができます。
このスニペットを直接インタラクティブなbashセッションにコピーして貼り付けるか、さらには、に追加します~/.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の「スクリプト」を表現しています。実際には2つあります。
- スクリプト
1pは1行目を出力します。この例では、dfヘッダーです(psパイプラインにも同じものを使用しています)。
- スクリプト
/^\//pは/、で始まるすべての行に一致し、それを出力します
; 2つのsedスクリプトを分離します
df --type ntfsは5つのntfsパーティションを表示していないため、結果としてスキップされます