![如果分隔符不存在,cut 是否返回任何字段](https://linux22.com/image/56411/%E5%A6%82%E6%9E%9C%E5%88%86%E9%9A%94%E7%AC%A6%E4%B8%8D%E5%AD%98%E5%9C%A8%EF%BC%8Ccut%20%E6%98%AF%E5%90%A6%E8%BF%94%E5%9B%9E%E4%BB%BB%E4%BD%95%E5%AD%97%E6%AE%B5.png)
我执行了
cut -d '~' -f 2 on input
RSC
AED
FCB
A~RS
我得到了
RSC
AED
FCB
RS
我意识到如果分隔符不存在,cut 将返回整行。是这样的吗?
答案1
这是真的。 POSIX 定义切-f选项为:
-f 列表
基于字段列表进行剪切,假定在文件中由分隔符分隔(请参阅 -d)。应输出每个选定的字段。输出字段应由单个字段分隔符分隔。没有字段分隔符的行应完整通过,除非指定 -s。选择输入行中不存在的字段不应出现错误。
这在以下内容中再次重复-s
:
-s
与 -f 选项一起使用时,禁止显示没有分隔符的行。除非另有说明,没有分隔符的行应不受影响地通过。