gpt4 book ai didi

bash - 使用 awk 或 sed 基于无关列创建新行

转载 作者:行者123 更新时间:2023-11-29 09:08:28 25 4
gpt4 key购买 nike

我有一个看起来像这样的文件(列由制表符分隔):

Owner    Phone    Car
Dan 111-111-1111 Avalon Camry
Stacy 222-222-2222 Corolla Yaris Camry
Henry 333-333-3333 Prius

我希望所有额外的汽车都位于原始汽车下方的自己的行上(为每辆额外的汽车复制车主和电话信息),所以它看起来像这样:

Owner    Phone    Car
Dan 111-111-1111 Avalon
Dan 111-111-1111 Camry
Stacy 222-222-2222 Corolla
Stacy 222-222-2222 Yaris
Stacy 222-222-2222 Camry
Henry 333-333-3333 Prius

我想知道是否有一种方法可以使用 awk 或 sed(最好是单行代码)来实现。

最佳答案

使用 awk,您可以遍历从 3 到结束的字段,并将它们与字段 12< 一起打印:

awk '{for(i=3;i<=NF;i++){print $1,$2,$i}}' file

顺便说一句,如果您希望输出看起来很好地对齐,您可以通过管道传输到 column 命令:

awk '{for(i=3;i<=NF;i++){print $1,$2,$i}}' file | column -t

关于bash - 使用 awk 或 sed 基于无关列创建新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34802428/

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