linux - 在下一行的空白区域下方的第一行中重复第一列的值
问题描述
我有一个来自系统的输入如下
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
推荐阅读
- c# - 专注于控制台应用程序
- android - 仅当剩余空间足够时才将视图添加到 ViewGroup
- c# - 在 SignalR 集线器中注入单例范围的依赖项
- javascript - 是否可以将 HTML 表格单元格向上或向下动态“移动”它们各自的列?
- c# - 异步 IStringLocalizer - GetAllStrings
- go - 将动态参数传递给函数
- azure-active-directory - 使用 loginwithazureactivedirectory 和 expressmode 的 Azure 活动目录
- json - 使用 JsonConvert.Deserialize 时变量显示“无”
- python - “a:1”不应该是python中的语法错误吗?
- acumatica - 使用 DLL 发布 Acumatica 导致 System.BadImageFormatException