РЕДАКТИРОВАТЬ: Чтобы сохранить пробелы, пожалуйста, попробуйте следующее.
awk '
match($0,/elephant[^0-9]*/){
val=substr($0,RSTART,RLENGTH-1)
sub("elephant","",val)
$NF=val "my_string"
val=""
}
1
' Input_file
Не могли бы вы попробовать следующее (если вы в порядке с awk
).
awk '/elephant/{$NF="my_string"} 1' Input_file
Если вы хотите сохранить вывод в сам файл Input_file, попробуйте выполнить следующее.
awk '/elephant/{$NF="my_string"} 1' Input_file > temp_file && mv temp_file Input_file