如何使用 sed 将一行行移动到另一个位置?
想象一个像这样的文件:
ligne
ligne
toto
tutu
titi
想得到:
ligne
toto
tutu
titi
ligne
已知模式是“tutu”和目标行号“2”,以及我要移动的文本块的原始行号。
所以我希望它被复制(与前 1 行和 1 个连续行)到我已经知道的特定位置(第 n°2 行)
我试过了 :
sed '2,5{ H ;d ; } ; 2{ p ; x ; }' file
但“粘贴”部分不起作用,所以它只显示:
ligne
我真的不明白如何将缓冲区粘贴到一行的数值上;&这就是我想要的。
好的,就像写的那样:
不是 sed,而是它的祖先ed:
tutu
然后减去一行tutu
然后添加一行m
将该块移至第 2 行(在第 2 行之后1
)w
,q
)导致: