方案
我正在尝试使用cut命令从具有重定向输出df命令的文件中获取第4个字段。但由于某种原因,它只是削减并返回第一场。
df -kh -B 1g /ws/abc-Location03 > file1.txt
cut -d" " -f4 file1.txt
输出我的df命令
Filesystem 1G-blocks Used Available Use% Mounted on
abc5-xyz04c:/root_vdm_6/t2local24/abc-Location03
500 408 93 82% /ws/abc-Location03
剪切命令的输出
abc5-xyz04c:/root_vdm_6/t2local24/abc-Location03
基本上,它只切割第一个区域并返回它,而不是第四个区域。我想知道我做错了什么。
答案 0 :(得分:2)
您可以改为使用awk
:
df -kh -B 1g /ws/abc-Location03 | awk '{print $4}'
答案 1 :(得分:1)
因为您要分隔空格而不是重复空格,所以您的列会搞乱。试试这个:
df -kh -B 1g | tr -s ' ' | cut -d ' ' -f 4
tr
将所有重复的空格转换为单个空格,因此您可以随意剪切它们。
答案 2 :(得分:0)
对于这个以及许多其他类似的问题,最短的解决方案可能是使用cuts("削减类固醇")试图解决cut
的大多数痛点
示例:
$ df -kh -B 1g / | cuts 3
Used
25