unix cut从文本文件中提取列,并将其余内容保存到新文件中

时间:2015-04-02 18:44:56

标签: unix

我可以使用unix cut执行以下操作:

cut -f 1 myfile.out

输出:

6DKK463WXXK
VKFQ9PYP9CG

因为它打印出我想要提取的列。如何在没有此列的情况下创建新文件?换句话说,我想立即删除此列并保留其余内容。

2 个答案:

答案 0 :(得分:2)

根据您的Unix版本,您可以使用negate选项选择未列出的字段。

cut -f 2 --complement myfile.input > myfile.output

这会将输入文件中的所有列放入输出文件中,第2列除外。

使用-d参数指定除tab之外的分隔符,这是默认值。

根据经验注意:小心使用>,尤其是在输入和输出使用相似名称时,不要意外覆盖输入文件(使用标签完成,这很容易)。

示例:

% echo one two three | cut -d ' ' -f 2 --complement
> one three

答案 1 :(得分:0)

Gdang!所以。必须立即淹没。

这在awk中很容易

 echo "1 2 3    4 5" | awk -F" " '{sub(/[^ ]+ /,""); print}'

<强>输出

2 3    4 5

删除第一个空格字符的所有内容。 打印剩余的记录。

IHTH