jj_*_*j_p 1 grep sed disk-usage text-processing
输出的du -sh folder
是一些维度和文件夹;我怎样才能使用grep -o '*G'
和类似的方法来获取维度,即去掉文件夹名称?
我可以提供一个简单的cut
解决方案:
du -sh . | cut -f1
Run Code Online (Sandbox Code Playgroud)
中的标准分隔符cut
是制表符,因此不需要任何其他选项。只需打印字段 1。
从您的评论来看,您似乎很关心资源/速度,因此从另一个答案中引用 Gilles:
“一般来说,工具越专业,速度就越快。因此,在大多数情况下,您可以期望
cut
并且grep
比 快sed
,并且sed
比 快awk
。”
从这里引用
time
两个命令的输出显示:
time du -sh /folder | awk '{print $1}'
60K
real 0m0.005s
user 0m0.002s
sys 0m0.004s
time du -sh /folder | cut -f1
60k
real 0m0.003s
user 0m0.000s
sys 0m0.004s
Run Code Online (Sandbox Code Playgroud)
我相信您需要多次重复,并取平均值以使其成为一个公平的测试,但无论哪种方式,都不多。从技术上讲,切割应该“更快”。