杜-s | cut -d' ' -f2 -- 剪切无效

du -s | cut -d' ' -f2 -- cut having no effect

我正在尝试仅获取指定文件的大小。通常我这样做的问题为零,但无论我在这里尝试什么,文件名都不会消失。

[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  }'

也什么都不做。有什么想法吗?

du的输出是tab-separated,需要使用制表符分隔符。虽然制表符是 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

也在 tab-delimiter

上使用 awk
du -s file | awk 'BEGIN{FS=OFS="\t"}{print }'