首页 > 解决方案 > 在下一行的空白区域下方的第一行中重复第一列的值

问题描述

我有一个来自系统的输入如下

a b c d
  h i j
  e f g

a q w e 
  r r t
  y u i

a i o p
  j k l
  t y u

我需要将输出安排为

a b c d
a h i j
a e f g

a q w e 
a r r t
a y u i

a i o p
a j k l
a t y u

我已经尝试过使用“awk”作为

awk -v FS="[[:space:]][[:space:]]+" -v OFS="/t" '{print $1,$2,$3,$4}' .

标签: linuxawksed

解决方案


$ awk '{if (/^ /) $1=val FS $1; else val=$1} 1' file
a b c d
a h i j
a e f g

a q w e
a r r t
a y u i

a i o p
a j k l
a t y u

推荐阅读