linux - 在下一行的空白区域下方重复第一行中第一列的值

标签 linux awk sed

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

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}' .

最佳答案

$ 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

关于linux - 在下一行的空白区域下方重复第一行中第一列的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52423874/

相关文章:

unix - 从第二列开始替换

c++ - gcc 3.3.3 支持预编译头文件吗?

python - 在 Linux 中查找登录时间

python - pyqt4 和 pyserial

java - 无法在 Linux Java 上识别 CRLF

perl - 如何写到第 10 行?

linux - 替换 awk 的结果

bash - 如何在 bash 脚本中屏蔽 pem key 的中线

linux - 根据条件替换值并使用 AWK 比较多个文件中的值

linux - sed 命令复制有字符串的行