この回答は、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パーティションを表示していないため、結果としてスキップされます