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

unix剪切从文本文件中提取列,并将其余内容保存到新文件中,unix,Unix,我可以使用unixcut执行以下操作: cut -f 1 myfile.out 输出: 6DKK463WXXK VKFQ9PYP9CG 因为它打印出了我想提取的专栏。如果没有此列,如何创建新文件?换句话说,我想现在删除此列并保留其余内容。根据您的Unix版本,您可以使用否定选项选择未列出的字段 cut -f 2 --complement myfile.input > myfile.output 这将把输入文件中除第2列以外的所有列放入输出文件 您可以使用-d参数指定除制表符以外的分隔

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

cut -f 1 myfile.out
输出:

6DKK463WXXK
VKFQ9PYP9CG

因为它打印出了我想提取的专栏。如果没有此列,如何创建新文件?换句话说,我想现在删除此列并保留其余内容。

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

cut -f 2 --complement myfile.input > myfile.output
这将把输入文件中除第2列以外的所有列放入输出文件

您可以使用
-d
参数指定除制表符以外的分隔符,这是默认值

经验提示:使用
>
时要小心,尤其是在输入和输出使用类似名称时,这样就不会意外地覆盖输入文件(使用制表符补全,这很容易做到)

例如:

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

格丹!S.O.现在一定被淹没了

这在awk中非常容易

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

2 3    4 5
删除直到第一个空格字符的所有内容。 剩下的记录将被打印


IHTH

希望修复的编辑现在已经到位。在S.O.保存额外副本、缺少编辑等方面遇到问题。