在文本文件中的另一行之前移动文本文件中的一行的最快方法?

bit*_*bit 7 command-line vim sed text-processing text-formatting

我有一个文本文件中的第 55 行,我想在同一个文本文件中的第 23 行之前移动它。我知道您可以将行向上移动一定数量的12行,但是是否可以将一行附加或预先添加到另一行,而不是在文本文件中向上或向下移动行的冗长方式?

我对使用 vim、sed 或任何其他命令行工具的答案持开放态度,但越简洁越好

更新:

sed命令i在一行之前插入文本,这与我要查找的内容相似,只是我想在一行之前插入一行

Jef*_*ler 11

可编写脚本的编辑器使这变得非常简单!

printf '%s\n' '55m22' 'wq' | ed -s input
Run Code Online (Sandbox Code Playgroud)

这会将两个命令发送到ed(编辑名为 的文件input):

  1. 55m22 -- 在第 22 行之后移动第 55 行
  2. wq -- 将文件保存回磁盘并退出。