надеюсь, это имеет смысл. Моя идеальная цель - прочитать файл и заменить переменную другой, но новая переменная увеличивается каждый раз.
Пример:
входной файл -
SAK, 123, 345
SAK, 456, 789
SAK, 789, 901
Как я хочу, чтобы мой вывод выглядел -
1, 123, 345
2, 456, 789
3, 789, 901
Как видите, SAK заменяется числом, но число увеличивается каждый раз.
Я пытался сделать это:
#!/bin/csh -f
set filename=/export/home/develop/data/buy_load_file.dat
set line=1
set sak_num=1
set search=SAK
set totallines=`wc -l $filename | cut -f1 -d' '`
echo $totallines
while( $line <= $totallines )
`sed "$line s/$search/$sak_num/" $filename`
@ line++
@ sak_num++
end
Но команда sed никогда не работает для меня. Я пытался прочитать разные способы сделать это, но я думаю, что моя проблема с $ filename, что он не может прочитать это правильно. Я думаю, что awk может быть другой командой, которая может делать то, что я хочу, но не знаю, как это сделать.
Есть идеи? Или, может быть, мне проще получить желаемый результат.
Спасибо!