Сценарий оболочки для изменения значения индекса - PullRequest
1 голос
/ 21 апреля 2011

У меня есть файл, который читает

96826999, words
96826321, wotds
96826567, dsdsa
96826455,dssdsd

Я хочу изменить все числа в первом столбце на последовательные, начиная с 96826700 так что файл в итоге выглядит как

96826700, words
96826701, wotds
96826702, dsdsa
96826703, dssdsd

Ниже приведен скрипт оболочки, который я пытаюсь использовать, но мне чего-то не хватает, вы можете помочь?

INDEX=96826700
for i in `cat file`
do
sed 's/^968267[0-9]/'${INDEX}'/g'
INDEX=INDEX +1
done

Ответы [ 2 ]

5 голосов
/ 21 апреля 2011

Вы можете использовать оболочку bash (или ksh) без внешних команд

#!/bin/bash    
# tested on bash 4.
IFS="," read a b < file
while IFS="," read x b
do
    ((a++))
    echo "$a,$b"
done < file
0 голосов
/ 21 апреля 2011
awk  -F"," 'NR==1{count=$1}{count++;print count"," $2}' temp
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...