2015-09-29 2 views
0

Я хочу, чтобы заменить первое значение (в первом столбце и строке, так здесь 1) и добавьте к этому значению, поэтому у меня есть файл, как этотSed заменить первое значение

1 
1 1 
2 5 
1 6 

я использую это предложение

read -r a < file 
echo $aa 
sed "s/$aa/$(($aa + 1))/" file 
# or 
sed 's/$aa/$(($aa + 1))/' file 

Но когда я делаю это, он меняет весь первый столбец один на два. Я пытаюсь изменить цитату, но ничего не делает.

ответ

1

ограничить сценарий только к первой линии, т.е.

sed '1s/old/new/' 

AWK может быть лучшим инструментом для этого.

awk 'NR==1{$1=$1+1}1' 

для первой строки добавить 1 в первое поле и распечатать. Может быть переписано как

awk 'NR==1{$1+=1}1' 

или

awk 'NR==1{$1++}1' 
Смежные вопросы