我试图仅获取指定文件的大小。通常我没有问题,但无论我在这里尝试什么,文件名都不会消失。
[root@dockertest Shipper]# du -s c_parser.py | cut -d ' ' -f 2
8 c_parser.py
根据管道后面的内容,没有任何变化。改变' 2'到' 1'没有做任何事情。使用:
[root@dockertest Shipper]# du -s c_parser.py | awk -F="c_parser.py" '{ print $1 }'
什么也没做。有什么想法吗?
答案 0 :(得分:4)
du
的输出以制表符分隔,您需要使用制表符分隔符。虽然tab是cut
中的默认分隔符,但您也可以明确使用它
du -s file | cut -d $'\t' -f2
或只是
du -s file | cut -f2
在这种情况下,输出的hexdump
会帮助您轻松理解
du -s file | hexdump -c
0000000 8 \t f i l e \n
0000007
在制表符分隔符
上也使用awk
du -s file | awk 'BEGIN{FS=OFS="\t"}{print $2}'