Como este comando sed funciona?

2

Como funciona essa linha sed:

echo lred_6607: broken symbolic link to ./safaribooks/red_6607 |
sed -e 's/^\|: *broken symbolic.*$/"/g'

1.Não há nenhum caractere | na saída do comando anterior.

2. qual é o uso de ^ e $

3.Como a saída é prefixada e sufixada por um par de         aspas duplas

saída: "lred_6607"

    
por munish 15.05.2016 / 20:59

1 resposta

3

Esta linha sed seleciona seqüências de caracteres e as substitui por " . As partes da linha que não são correspondidas são deixadas inalteradas.

\| significa ou , por isso separa 2 regexes.

Qualquer seqüência de caracteres combinados por essas duas expressões regulares é substituída por " .

O primeiro é ^ . Corresponde ao início da linha. Se o início da linha for encontrado, ele será substituído por "

A segunda regex é : *broken symbolic.*$ : significa qualquer sequência começando com : e zero ou qualquer número de caracteres de espaço ( * ) e broken symbolic da sequência de caracteres e seguida por .* , o que significa zero ou qualquer número de caracteres, até o final da linha $ . Se encontrado, ele será substituído por " .

lred_6607 não é correspondido, por isso não é alterado.

O resultado é "lred_6607"

    
por 15.05.2016 / 21:17

Tags