【发布时间】:2016-06-13 00:13:59
【问题描述】:
我有这个:
id1
name: Chris
id2
id3
name: John
name: Mary
id4
name: Mike
而且我需要至少重新安排它:
id1
name: Chris
id2
name: John
id3
name: Mary
id4
name: Mike
但理想情况下是这样的:
id1 name: Chris
id2 name: John
id3 name: Mary
id4 name: Mike
我知道awk 可以做到这一点,但语法让我难以理解。我试图从其他或多或少相似的解决方案中推断,但没有成功。
【问题讨论】:
-
您至少应该发布您尝试过的内容,因此看起来您至少尝试过。那些是 id 的真实样子吗?如果是这样,那么 awk 就不是必需的了——只需获取名称并在迭代时添加 id。
-
只需丢弃/忽略所有
idX。阅读所有name: *并在它们前面加上一个正在运行的idX,其中X从1 开始计数。 -
我有一个答案,但请附上您迄今为止为解决此问题所做的尝试,以便我们也可以了解一下。
-
id1,2,3...n 之后的数字是否严格按照这个顺序排列?是,只是将它们过滤掉。 -
@alvits:
grep,cat,最后是sed,你告诉我们这是lazy method。 ;)