Substituição de padrão

1

Alguém pode me explicar em breve sobre a sintaxe deste comando? Conheço a saída desse comando, mas quero saber como ele está funcionando.

Espero uma explicação em termos de como esse comando é realmente escrito e o significado de cada um dos caracteres usados no comando.

sed -i 's|\(LAYOUT PATH \).*| "../GDS/'$1'.gds"|g' drcCustimize2 
    
por yisha 26.08.2014 / 08:01

1 resposta

4

  • sed : chama o comando sed
  • -i : passar sed a opção -i: modificar o arquivo no local
  • 's|\(LAYOUT PATH \).*| "../GDS/'$1'.gds"|g' : O '...' $ 1 '..' é usado para tornar toda essa parte um único argumento para o comando sed
  • %código%:
    • s|\(LAYOUT PATH \).*| "../GDS/'$1'.gds"|g : s|pattern|replacement|options é o comando substituto (ou pesquisa e substituição), os caracteres s são usados para separar as partes desse comando umas das outras
    • | : procure pela string literal "LAYOUT PATH" e capture-a em um grupo; o conteúdo deste grupo pode ser colocado na string de substituição usando \(LAYOUT PATH \)
    • : Combine tudo até o final da linha
    • .* : coloque o grupo correspondente 1 no texto de substituição
    • : coloque a string literal "../GDS/ no texto de substituição
    • "../GDS/ : Coloque o primeiro argumento no shell-script no texto de substituição
    • $1 : Coloque a string literal .gds" na substituição
    • .gds" : faça o substituto para cada partida em uma linha; sem o g , apenas a primeira correspondência é substituída
    • g : o arquivo que drcCustimize2 deve alterar
por 26.08.2014 / 08:24