我在文本文件中有这样的行。

x :
y : long
z : 0

现在,我想将z:行向上移动两个位置(x上方)。我怎么能用sed做到这一点。

最佳答案

您可以使用ED将第3行移至第1行之后:

echo -e '3m1\nwq\n' | ed <filename>

以您的示例为例:
echo -e '3m1\n1m2\nwq\n' | ed <filename>

对于使用正则表达式而不是行号的特定文本:
echo -e '/<text>/m1\n1m2\nwq\n' | ed <filename>

关于linux - 在文本文件中移动特定行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36541130/

10-11 23:12