【发布时间】:2017-03-31 11:43:33
【问题描述】:
有人可以帮我写一段命令,将一些文本插入到已经包含数据的给定文件的多个位置(给定的列和行)。例如:old_data 是一个包含:
A
我希望得到 new_data 将包含:
A 1
我读过一些关于 awk 和 sed 命令的文章,但我不相信自己理解如何将这些结合起来,以获得我想要的。
我想补充一下,我想将此命令用作脚本的一部分
for b in ./*/ ; do (cd "$b" && command); done
如果我们将 old_data 的内容想象为元素矩阵 {An*m} 其中 n 对应于该矩阵的行数,m 对应于该矩阵的列数,我希望使用矩阵进行操作我可以添加新元素。 A 在旧数据中的坐标为 (1,1)。因此,在 new_data 中,我希望将 1 分配给具有坐标 (1,3) 的矩阵元素。 如果我们比较 old_data 和 new_data 的内容,我们会看到 (1,2) 元素对应于空格(它是空的)。
【问题讨论】:
-
该输出背后有逻辑吗?
-
@JamesBrown 我相信我不明白你的问题。我使用 A B C D 标记旧数据和数字标记新数据(文本或数字)。
-
@user406046 以及为什么
1出现在A行之后,而其他数字与给定字母在同一行中?我们也从哪里得到这些数字?我们知道您是新来的(欢迎),但请阅读How to Ask 和minimal reproducible example。 (还有help center 和tour):) -
... 现在(在您添加代码片段之后)甚至 less 清晰。你想访问你当前目录中的所有目录,并且想做一些
command。command应该做什么?上面的插入?在哪些文件中? -
请同时描述(1,2)中的内容。
标签: linux shell awk command text-editor