1

我有一个文本文件,我必须在其中剪切字段 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

由于默认分隔符是制表符,因此提取字段的命令将是:

cut -f 3,4,5,8 filename

问题是输出与原始文件内容相同。这里发生了什么?为什么这不起作用?

4

1 回答 1

3

您的文件实际上不包含任何制表符。

默认情况下,cut打印任何不包含分隔符的行,除非您指定该-s选项。

由于您的记录在字符边界上对齐而不是制表符分隔,因此您应该使用该-c选项来指定要剪切的列。例如:

cut -c 9-12,14-25,43-57 file
于 2013-10-02T05:43:54.070 回答