スペースを追加し、各行の数を増やします。

スペースを追加し、各行の数を増やします。

テキストファイルを編集し、スペースを追加してから数字を増やそうとします。私はawkを使ってこれを実行しようとしていますが、これまでの最良の結果はカウンタを新しい行に配置することです。別の例を試してみましたが、うまくいきません。

入力する

line
line

現在の

awk '{$1 = $1 NR; print }' input.txt > output.txt

結果

line
1
line
2

故意に

line 1
line 2

また、これをbashスクリプトに入れると、現在の空の出力が提供されます。

#!/bin/sh
awk '{$1 = $1 NR; print }' $1 > output.txt

答え1

この方法を試してください

awk '{print $1,NR}'

はい

$ cat example.txt
line
line
$ awk '{print $1,NR}' example.txt
line 1
line 2
$

答え2

なぜできないの

awk '{printf "%s %d\n",$1,NR}' input.txt > output.txt

どこ

  • "%s %d\n"最初の引数を文字列(%s)でフォーマットし、次の引数を数字(%d)でフォーマットし、新しい行を印刷します(\n)。

答え3

以下を介して変更を記録します。

awk '$++NF=NR' input.txt

答え4

#!/usr/bin/python
k=open('file','r')
g=1
for i in k:
    print "{0} {1}".format(i.strip(),g)
    g=int(g)+1

出力

python ko.py 
line 1
line 2



sed command

 sed -n '/.*/{;=;p}' file|sed "N;s/\n/ /g"| awk '{print $2,$1}'
line 1
line 2

using cat command

cat -n file| awk '{print $2,$1}'
line 1
line 2

関連情報