行を行番号に置き換える

行を行番号に置き換える

一致するパターンのない行全体を行番号だけでどのように変更できますか?

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

答え1

奇妙な解決策:

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

関連情報