Не могли бы вы попробовать следующее, где в split
вам нужно определить все номера строк, для которых вы хотите добавить .2
в строках. Здесь я сделал для 1,3,6
, вы могли бы упомянуть больше строк здесь.
awk '
BEGIN{
num=split("1,3,6",array,",")
for(i=1;i<=num;i++){
array1[array[i]]
}
}
FNR in array1{
$2+=.2
}
1
' Input_file
Объяснение: Добавление подробного объяснения приведенного выше кода здесь.
awk ' ##Starting awk program from here.
BEGIN{ ##Starting BEGIN section of this awk program from here.
num=split("1,3,6",array,",") ##Splitting 1,3,6 values into array with delimiter comma and getting their total length(of passed line numbers) in variable named num here.
for(i=1;i<=num;i++){ ##Starting a for Loop starting from i=1 to value of num
array1[array[i]] ##Creating array named array1 whose index is array[i] value.
}
}
FNR in array1{ ##Checking condition if current line number is present in array1 then do following.
$2+=.2 ##Adding .2 to current Line 2nd field here.
}
1 ##1 will print edited/non-edited lines here.
' Input_file ##Mentioning Input_file name here.