用行号替换行

用行号替换行

如何仅用行号替换没有匹配模式的整行?

sed -i "${line}p c\ "$PWD" " file.txt

答案1

awk 解决方案:

awk '!/pattern/{$0=NR}; 1'  file.txt > outfile.txt

答案2

如果你有 GNU sed,你可以使用命令访问当前行=,允许你做类似的事情

sed -i '/pattern/!{=;d;}' file.txt

(插入当前行号,然后删除行,如果行不匹配图案)。

答案3

另一种方法,如果未安装 sed 或 awk:

i=1; while read LINE; do echo $i; ((i++)); done < file.txt > outfile.txt

相关内容