gpt4 book ai didi

shell - awk获取下一行列的值并将其添加到shellscript中的当前行

转载 作者:行者123 更新时间:2023-12-05 08:45:49 26 4
gpt4 key购买 nike

我有一个 csv 文件让我们说几行

cat lines
1:abc
6:def
17:ghi
21:tyu

我想实现这样的目标

1:6:abc
6:17:def
17:21:ghi
21::tyu

试过下面的代码没有用

awk 'BEGIN{FS=OFS=":"}NR>1{nln=$1;cl=$2}NR>0{print $1,nln,$2}' lines
1::abc
6:6:def
17:17:ghi
21:21:tyu

你能帮忙吗?

最佳答案

这是一个潜在的 AWK 解决方案:

cat lines
1:abc
6:def
17:ghi
21:tyu

awk -F":" '{num[NR]=$1; letters[NR]=$2}; END{for(i=1;i<=NR;i++) print num[i] ":" num[i + 1] ":" letters[i]}' lines
1:6:abc
6:17:def
17:21:ghi
21::tyu

格式化:

awk '
BEGIN {FS=OFS=":"}
{
num[NR] = $1;
letters[NR] = $2
}
END {for (i = 1; i <= NR; i++)
print num[i], num[i + 1], letters[i]
}
' lines
1:6:abc
6:17:def
17:21:ghi
21::tyu

关于shell - awk获取下一行列的值并将其添加到shellscript中的当前行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71522024/

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