首页 > 解决方案 > sed - 连接两个命令,数字行

问题描述

我正在尝试对行进行编号,但我需要使用 sed 的 -i 参数,如何加入这两个命令?

sed '=' file.txt | sed 'N;s/\n/ => /'

标签: sednumbersline

解决方案


除了使用 -i 之外,还有其他方法可以重写文件

来自moreutilssponge

sed '=' file.txt | sed 'N;s/\n/ => /' | sponge file.txt

带有临时文件

tmp=$(mktemp)
sed '=' file.txt | sed 'N;s/\n/ => /' > "$tmp" && mv "$tmp" file.txt

或者,如果您不必使用 sed,GNU awk

gawk -i inplace '{print NR, "=>", $0}' file.txt

或 perl

perl -i -pe 's/^/$. => /' file.txt

推荐阅读