в чем смысл этой команды sed: `; / @ / {h; s / test / next / g; x; G}`?

sed -e 's/72;/72, next_val = 0x11111111;/;/@/{h;s/test/next/g;x;G}' fmt_vuln.c > fmt_vuln2.c 

не могли бы вы рассказать мне о том, что означает ;/@/{h;s/test/next/g;x;G} ?

  • Как sed -i '`` i word' файл?
  • Какова цель -e в команде sed?
  • 2 Solutions collect form web for “в чем смысл этой команды sed: `; / @ / {h; s / test / next / g; x; G}`?”

     ;/@/{h;s/test/next/g;x;G}? /@/ search for an `@` sign {} for the lines where that is true do this 'block' of code h put the pattern match in the hold space s/ substitute test for next everywhere in the space g do the previous substitution for all matches on the line x swap the hold with the pattern space G Add a new line with the contents of the hold space. 
     /@/ # For pattern-space containing the character @ do the following { h # place a copy of the pattern-space into the hold-space s/test/next/g # replace all instances of "test" with "next" in the pattern-space x # swap the pattern-space with the hold-space G # append a newline followed by contents of hold-space to the pattern-space } 

    Таким образом, для каждой строки, содержащей @, будет напечатана модифицированная версия пространства шаблонов, за которой следует оригинал (пространство удержания содержит немодифицированную версию).

    см. « Сводка команд» для Sed

    Linux и Unix - лучшая ОС в мире.