如何仅用行号替换没有匹配模式的整行?
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