我需要从纯文本文件中删除一列。我认为这可以使用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
如何删除带有剪切的第一列并在bash中获取以下文本?:
Procedimiento_tal retiro aceptado
tx1
tx2
tx3
Procedimiento_tal retiro rechazado
tx1
tx2
tx3
Procedimiento_tal retiro aceptado
tx1
tx2
tx3
提前致谢
答案 0 :(得分:46)
使用cut
:
cut -d ' ' -f 2- input-file
应该做你想做的事。
答案 1 :(得分:15)
使用infile
作为分隔符(' '
)阅读-d
并将字段(-f
)2向前(2-
)放入file
}:
cut -d' ' -f2- infile > file
有关更多选项,请参阅man cut
。
N.B:这不是bash具体的。
答案 2 :(得分:9)
GNU coreutils cut支持--complement
标志。因此,如果您使用的是该版本的剪切,您可以说:
cut --complement -d' ' -f1 infile
输出:
Procedimiento_tal retiro aceptado
tx1
tx2
tx3
Procedimiento_tal retiro rechazado
tx1
tx2
tx3
Procedimiento_tal retiro aceptado
tx1
tx2
tx3
答案 3 :(得分:1)
这是一个有效的命令,比所有人都短一点:
cut -b 4- input-file
-b代表字节,并选择将粘贴到屏幕的字节。
4-是-b的一部分,它意味着它将选择每行的第4个字符到每行的最后一个字符。然后,剪切命令会将选择粘贴到屏幕上。