Text-Processing

將文本文件中的一行移動到文本文件中的另一行之前的最快方法?

  • July 22, 2019

我在一個文本文件中有第 55 行,我想在同一個文本文件中的第 23 行之前移動它。我知道您可以將行向上移動一定數量的行1 , 2但是否可以將一行附加或添加到另一行而不是在文本文件中向上或向下移動行的詳細方式?

我願意接受使用 vim、sed 或任何其他命令行工具的答案,但越簡潔越好

更新:

sed命令i在與我要查找的內容類似的行之前插入文本,只是我想在一行之前插入一行

可編寫腳本的編輯器使這變得非常簡單!

printf '%s\n' '55m22' 'wq' | ed -s input

這將發送兩個命令ed(編輯名為 的文件input):

  1. 55m22– 將第 55 行移到第 22 行之後
  2. wq– 將文件保存回磁碟並退出。

短一點:

ex input <<<"55m22|wq"

引用自:https://unix.stackexchange.com/questions/531334