如果第 2 列等于某个值,如何每 5 行连接一次?

帕特里夏·布扎托·西凯拉

我有一个文件,如果第二列的数字为 2,我想连接接下来的 5 行,例如:

67 2
a b c 
a b
0.1 0.2 0.3 0.4
0.3 0.9 0.7 0.1
09 3
b v c
5 6 7 8
78 2
p o p
q d
1.0 0.9 0.8 0.7
0.4 0.3 0.2 0.1

输出应该是:

67 2 a b c a b 0.1 0.2 0.3 0.4 0.3 0.9 0.7 0.1
78 2 p o p q d 1.0 0.9 0.8 0.7 0.4 0.3 0.2 0.1
罗曼·佩雷克雷斯特

awk解决方案:连接 5 行(包括模式线),每行遇到2第二列中的行(连接的行除外):

awk '$2==2{i=4;tail=$0; while (i-- && (getline nl) > 0) { tail=tail FS nl } print tail}' file

输出:

67 2 a b c a b 1 2 3 4 0 9 7 1
78 2 p o p q d 0 9 8 7 4 3 2 1

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用iCal在mont的第5天(如果是周末或节假日,则为第4/3日)每5天举行一次活动

如果第2列的行与值匹配,则对第1列的值求和

如果第2列和第3列使用awk匹配,如何删除重复的行?

如果第2列存在,则删除重复的行

如果遇到第2行中的标题,则尝试从第5行复制到行末时出错Excel VBA

每进行第10次和第2次更改就进行一次foreach

每2秒启动一次功能,每5秒启动一次

如果第5列中有一个点,则删除行

如果某列包含某个值,如何检查大型csv的每一行并写入该行?

如果第一列匹配,则提取具有第 11 列值的行位于第二个文件的第 2 和第 3 之间

使用awk每第N行记录某个列值

如果第 2 列上的值与该值匹配,则复制最后一行 onFormSubmit

如果第2列(表A)中存在第1列(表B),则熊猫计算第1列(表A)的唯一值。

每 5 行重复一次跳过

如何每 5 秒更新一次 ViewPager2

如果第1列具有特定值,如何计算第2列的均值?[R

r-如果第1列等于,请使用dplyr更改第2列

如果第 2 行中的值出现在第 1 行中,则更改第 3 行中的单元格颜色

重新排序多维数组,以便具有特定列值的行每第4行出现一次

每 5 次提醒一次

SQL:如何选择所有行,其中第1行和第2行等于语句中5个名称之一

如果列的值等于某个值,则更改下一列的值(python)

Sql server如何獲取只存在一次、2到5次、大於5次的兩列值組合

如果车辆不移动,则每5分钟更新一次Android位置

PHP,如果foreach每5个循环展示一次广告

SQL-检查第1列中的日期,如果它为null,则将第2列中的日期与另一行进行比较以返回后面的日期

每 2 列绘制一次

OpenMDAO ShelveRecorder以一种奇怪的顺序保存迭代:第1次迭代,第3次,第2次,第5次,第4次,第6次

从某一行开始,每第 n 行替换一次