заменить последнее слово в конкретной строке sed

Попробуйте

$(document).ready(function() {  //or  $(window).load(function(){ 
    $('#myModal').reveal($(this).data());
});
1
задан Kent 5 March 2019 в 14:41
поделиться

3 ответа

РЕДАКТИРОВАТЬ: Чтобы сохранить пробелы, попробуйте следующее.

awk '
match([110],/elephant[^0-9]*/){
  val=substr([110],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
0
ответ дан RavinderSingh13 5 March 2019 в 14:41
поделиться

альтернатива для замены и сохранения места:

awk '/elephant/{sub(".{"length($NF)"}$","new")}7' file

с вашим примером:

kent$ cat f
abc dog         1.0
abc cat         2.4
abc elephant    1.2

kent$ awk '/elephant/{sub(".{"length($NF)"}$","new")}7' f
abc dog         1.0
abc cat         2.4
abc elephant    new
0
ответ дан Kent 5 March 2019 в 14:41
поделиться

базовый

sed '/elephant/ s/[^[:blank:]]\{1,\}$/mstring/' $file

, если в конце может быть некоторое пространство

sed '/elephant/ s/[^[:blank:]]\{1,\}[[:blank:]*$/mystring/' $file
0
ответ дан NeronLeVelu 5 March 2019 в 14:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: