ファイルの各行で文字列に番号を付ける方法

ファイルの各行で文字列に番号を付ける方法

file.txtが次のようになると仮定します。

line_ some text
line_ some text
line_ some text

Bashを使用してこのような行番号を付ける方法:

line_1 some text
line_2 some text
line_3 some text

これは今まで私の考えですが、うまくいきません。

#!/bin/bash
var = 1
cat ./file.txt
while read line; do           
  sed "s/line_/line_(( var++ ))/"
done < ./file.txt 

ベストアンサー1

awkを使用できます。

awk '$1=$1 FNR' <file>

$1各レコードの最初の単語(この場合は行)。FNR入力レコード番号(この場合は行番号)。

このコマンドは各行を各行first wordに置き換えますfirst word + line-number

おすすめ記事