如何在bash中使用cut命令显示除指示之外的所有列?

Her*_*man 26 bash cut

我需要从纯文本文件中删除一列.我认为这可以使用cut命令的反转来完成.我的意思是,像这样:

如果这是我的文件:

01 Procedimiento_tal retiro aceptado
01 tx1
01 tx2
01 tx3
02 Procedimiento_tal retiro rechazado
02 tx1
02 tx2
02 tx3
03 Procedimiento_tal retiro aceptado
03 tx1
03 tx2
03 tx3
Run Code Online (Sandbox Code Playgroud)

如何删除带有剪切的第一列并在bash中获取以下文本?:

Procedimiento_tal retiro aceptado
tx1
tx2
tx3
Procedimiento_tal retiro rechazado
tx1
tx2
tx3
Procedimiento_tal retiro aceptado
tx1
tx2
tx3
Run Code Online (Sandbox Code Playgroud)

提前致谢

Wil*_*ell 51

使用cut:

cut -d ' ' -f 2- input-file
Run Code Online (Sandbox Code Playgroud)

应该做你想做的事.


Joh*_*web 15

读取infile使用' '作为分隔符(-d)并将fields(-f)2向前(2-)放入file:

cut -d' ' -f2- infile > file
Run Code Online (Sandbox Code Playgroud)

有关man cut更多选项,请参阅

注意:这不是特定于.


Tho*_*hor 10

GNU coreutils cut支持该--complement标志.因此,如果您使用的是该版本的剪切,您可以说:

cut --complement -d' ' -f1 infile
Run Code Online (Sandbox Code Playgroud)

输出:

Procedimiento_tal retiro aceptado
tx1
tx2
tx3
Procedimiento_tal retiro rechazado
tx1
tx2
tx3
Procedimiento_tal retiro aceptado
tx1
tx2
tx3
Run Code Online (Sandbox Code Playgroud)