【问题标题】:Insert text from a file to specific line numbers on another text file将文件中的文本插入另一个文本文件的特定行号
【发布时间】:2017-04-23 12:46:54
【问题描述】:

如何将文件中的文本插入另一个文本文件中的特定行号? 我被提议使用“sed”,尽管使用标志“-i”没有指定文本文件的选项,只能“手动”加载文本。

例如,如何实现如下:

file1.txt:

55
66

file2.txt:

1
2
3
4
5

我希望将 file1 内容添加到特定行号的 file2 内容中,所以在完成时我将拥有:

file2.txt:

1
2
3
55
66
4
5

我可以使用“sed”来实现这一点吗?还是有其他方法?

【问题讨论】:

    标签: linux text awk sed editing


    【解决方案1】:

    它来了sed 解决方案:

    sed '3 r file1.txt' file2.txt
    

    【讨论】:

      【解决方案2】:

      awk 可能:

      awk 'NR==4{system("cat file1.txt")} 1' file2.txt
      

      也就是说... “阅读file2.txt。如果您刚刚阅读了第4行,请关注file1.txt。通常,打印所有行 - 因为1是真的”

      或者vi也许:

      vi -c ':4:r file1.txt' -c ':wq!' file2.txt
      

      也就是说……“加载file2.txt。加载后,转到第4行,读入file1.txt。保存并退出”

      【讨论】:

      • ^ 很好地使用vi
      猜你喜欢
      • 2016-06-06
      • 1970-01-01
      • 2013-12-14
      • 1970-01-01
      • 1970-01-01
      • 2012-04-20
      • 1970-01-01
      • 2013-04-23
      • 1970-01-01
      相关资源
      最近更新 更多