【发布时间】:2019-03-03 18:19:51
【问题描述】:
我有以下几行:
057 - - No adod3 stptazlqn 10 753
tlm 10 027
stp 10 021
12 - - No azad1
bbcz 30 12
03085 - - No azad1 azad1222
xxaz 1 12
azzst 1 12
hss 2 12
我需要做的是:
- 查找以数字 [0-9] 开头的行。
- 复制前 5 列,用空格“”分隔。
- 将其粘贴到不以数字开头的下一行中。
057 - - No adod3 stptazlqn 10 753 057 - - No adod3 tlm 10 027 057 - - No adod3 stp 10 021 12 - - No azad1 12 - - No azad1 bbcz 30 12 03085 - - No azad1 azad1222 03085 - - No azad1 xxaz 1 12 03085 - - No azad1 azzst 1 12 03085 - - No azad1 hss 2 12
提前感谢您的帮助。
干杯, 色拉
【问题讨论】:
-
到目前为止您尝试过什么?向我们询问具体问题,而不是您的整个代码。
-
以数字开头的行一分为二,我可以通过使用 sed ':a $!N;s/\n[az]/ /;ta P;D' 来修复它/tmp/test1 | sed '/^$/d' 现在我正把头撞在墙上 - 不知道下一步该怎么做,这就是我决定寻求你帮助的原因。
-
当您得到以数字开头的行时,将要复制的值保存到变量中。然后在处理不以数字开头的行时使用这些变量。
标签: bash perl awk sed text-processing