sed 将行从 n° 40 移动到 39 位置

sed 将行从 n° 40 移动到 39 位置

我有一个 100 行的文本文件,我需要将第 40 行移动到第 39 行(参考位置)如何使用 sed 执行此操作?我试过

sed '40 m 39' file

sed '40,39m' file

但给我错误。谢谢

答案1

使用 GNU sed:

seq 1 43 | sed -e '39{h;d};40{p;g}' | tail -n 8

输出:

36
37
38
40
39
41
42
43

答案2

尝试:

$ sed -e '39N;s/\(.*\)\n\(.*\)/\2\
\1/' file

相关内容