テキストファイルを編集し、スペースを追加してから数字を増やそうとします。私は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