gpt4 book ai didi

awk - 将每一行向下移动到第二行

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

我有以下示例文本:

a b c
x_y_
d e f
x_y_
g h i
x_y_
k l m
x_y_

我需要它的格式如下:

x_y_ a b c
x_y_ d e f
x_y_ g h i
x_y_ k l m

在 bash 中使用 sed、awk 或其他东西,我们如何完成这个?

最佳答案

另一个 awk:

$ awk 'NR%2==0{print $0,p}{p=$0}' file

输出:

x_y_ a b c
x_y_ d e f
x_y_ g h i
x_y_ k l m

解释:

$ awk '
NR%2==0 { # on every even numbered record
print $0,p # output current record and previous
}{
p=$0 # buffer record for next round
}' file

更新:

如果记录数为奇数(主要是同行压力:),则需要处理剩余的x y z:

$ awk 'NR%2==0{print $0,p}{p=$0}END{if(NR%2)print}' file

输出:

...
x_y_ g h i
x_y_ k l m
x y z

关于awk - 将每一行向下移动到第二行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55076527/

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