我有一个大致如下所示的txt文件:
1,text,text,text
2,text,text,text
3,text,text,text
但是有更多行,我只是想用第一个逗号替换新的数字,从1000开始,并在每行自动递增。有很多行,以至于手动行不通。
我认为我可以使用sed或awk快速完成此操作,但是我实在太菜鸟不懂。我最近得到的是使用sed 's/^[^,]*/1000/'
,但这只是将数字替换为1000,而不会在每一行增加它们。
答案 0 :(得分:1)
使用awk:
awk 'BEGIN{OFS=FS=","}{$1=NR+999}1' yourfile
这说:
BEGIN{OFS=FS=","}
$1
)设置为行号(NR
)加上999 {$1=NR+999)}
1
答案 1 :(得分:1)
将第一列中的新值与NR相关联是一个可行的解决方案。如果您想要更多的灵活性,可以尝试以下方法:
awk '$1~/[0-9]+/{$1=v++}1' FS=, OFS=, v=1000 input