interchange 2 strings no comando do terminal de arquivos

-1

Eu quero trocar 2 strings em um arquivo

Aqui está o exemplo

[ link ]( text ) 

Eu quero fazer isso

[ text ]( link )

como posso fazer isso? Eu tentei algo com o tempo, mas eu não posso fazer isso

link = link etc texto pode ser qualquer coisa

    
por xyz 12.01.2015 / 19:22

2 respostas

1

$ echo "[ link ]( text )" | perl -pe 's/\[(.*?)\]\((.*?)\)/[$2]($1)/g'
[ text ]( link )
    
por glenn jackman 12.01.2015 / 19:32
0

No bash, assumindo que o bracketing e o espaço em branco estão fixos, isso será feito:

a=$(echo "[ link ]( text )" | cut -d ' ' -f 4) ; b=$(echo "[ link ]( text )" | cut -d ' ' -f 2) ; echo "[ $a ]( $b )"

Você pode diminuir, mas esperamos que esteja claro como isso funciona. Se você quiser um script, substitua o texto de entrada por "$ 1".

Para inserir um arquivo, use read .

    
por Mark Williams 12.01.2015 / 20:45