我正在尝试编辑一个文本文件并添加一个空格,然后添加一个不断增加的数字。我正在尝试使用 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