我有一个文本文件,我必须在其中剪切字段3,4,5和8:
219 432 4567 Harrison Joel M 4540 Accountant 09-12-1985
219 433 4587 Mitchell Barbara C 4541 Admin Asst 12-14-1995
219 433 3589 Olson Timothy H 4544 Supervisor 06-30-1983
219 433 4591 Moore Sarah H 4500 Dept Manager 08-01-1978
219 431 4527 Polk John S 4520 Accountant 09-22-1998
219 432 4567 Harrison Joel M 4540 Accountant 09-12-1985
219 432 1557 Harrison James M 4544 Supervisor 01-07-2000
由于分隔符默认为tab,因此提取字段的命令为:
cut -f 3,4,5,8 filename
问题是输出与原始文件内容相同。这里发生了什么?为什么这不起作用?
答案 0 :(得分:3)
您的文件实际上不包含任何制表符。
默认情况下,cut
会打印任何不包含分隔符的行,除非您指定-s
选项。
由于您的记录在字符边界上而不是以制表符分隔,因此您应使用-c
选项指定要剪切的列。例如:
cut -c 9-12,14-25,43-57 file