该答案试图解决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的“脚本”,其中两个实际上是:
- 脚本会
1p
打印第一行,在我们的例子中是第一行df
的标题(我对ps
管道使用相同的标题),
- 脚本
/^\//p
匹配以开头的任何行/
,然后打印
;
分隔2个sed脚本
df --type ntfs
没有显示5 ntfs分区,因此对我来说跳过它们