例如:
$ cut -d ' ' -f 2- <<< "example"
example
为什么 cut 会骗我,告诉我“example”是第二个分隔符等等。我希望它打印出来,""
因为没有第二个分隔符。
请注意,这做了正确的事情:
$ cut -d ' ' -f 2- <<< "example "
答案1
您需要使用以下-s
选项:
$ cut -d ' ' -sf 2- <<< "example"
$
默认情况下,如果一行没有分隔符,cut
则将打印整行。 -s
关闭此行为。
您的第二个示例并没有分隔符:
cut -d ' ' -f 2- <<< "example "
因为该行有一个分隔符,cut
所以可以实现您所期望的效果。
文档
此行为记录在man cut
:
-f, --fields=列表
仅选择这些字段;还打印不包含分隔符的任何行,除非指定了 -s 选项