gpt4 book ai didi

linux - 将字段 'N' 打印到行尾

转载 作者:太空狗 更新时间:2023-10-29 11:24:30 24 4
gpt4 key购买 nike

我想就我在 awk 中遇到的问题获得帮助或指导。

我有一个包含 5 个以上字段的制表符分隔文件。我想输出不包括前5个字段的字段。

您能告诉我如何编写 awk 脚本来完成这项任务吗?

最好的,剑锋毛

请注意以下评论:

我的文件中有很多字段。不同的行具有不同数量的字段。每行的字段数不标准。

最佳答案

在我的制表符分隔文件中 temp.txt看起来像下面这样

field1 field2 field3 field4 field5 field6
field1 field2 field3 field4 field5 field6 field7
field1 field2 field3 field4 field5 field6 field7 field 8

根据您的更新,我强烈建议使用 cut :

cut -f6- temp.txt

将 field6 打印到行尾。

备注-d指定分隔符,但制表符是默认分隔符。您可以在 awk 中执行此操作, 但我发现 cut更简单。

awk它看起来像这样:

 awk '{print substr($0, index($0, $6))}' temp.txt

<罢工>如果我的制表符分隔文件 temp.txt 如下所示

field1 field2 field3 field4 field5 field6
field1 field2 field3 field4 field5 field6 field7
field1 field2 field3 field4 field5 field6 field7 field 8

awk -F"\t" '{print $6}' temp.txt

将只打印第 6 个字段。如果定界符是制表符,它可能会在不设置 -F 的情况下工作,但我喜欢尽可能设置我的字段分隔符。

同样,切割也是如此。

cut -f6 temp.txt

我有预感你的问题比这个更复杂,所以如果你回复我的评论,我可以尝试扩展我的答案。

关于linux - 将字段 'N' 打印到行尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6307788/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com