Skip to main content
added 2 characters in body
Source Link

I propose this solution:

$ awk -F'|' -v OFS='\t' '$2 ~ /^[0-9]{1,3}$/ { $2 = 1100 +(++c) } { OFS="\t"; print $1,$2 }' file 
d1000   1000
d1001   1101
d1002   1102
d1003   1103
d1004
d1005

I propose this solution:

$ awk -F'|' '$2 ~ /^[0-9]{1,3}$/ { $2 = 1100 +(++c) } { OFS="\t"; print $1,$2 }' file 
d1000   1000
d1001   1101
d1002   1102
d1003   1103
d1004
d1005

I propose this solution:

$ awk -F'|' -v OFS='\t' '$2 ~ /^[0-9]{1,3}$/ { $2 = 1100 +(++c) } { print $1,$2 }' file 
d1000   1000
d1001   1101
d1002   1102
d1003   1103
d1004
d1005
Source Link

I propose this solution:

$ awk -F'|' '$2 ~ /^[0-9]{1,3}$/ { $2 = 1100 +(++c) } { OFS="\t"; print $1,$2 }' file 
d1000   1000
d1001   1101
d1002   1102
d1003   1103
d1004
d1005