Para obter as colunas em arquivo separado

1

Eu tenho um arquivo e seu conteúdo se parece com:

abc=123|qwer=432|reiw=2344|xyz=123 445|tyu=23 rows

Eu tentei usar tr e sed , mas precisarei usar awk

A saída desejada deve ser semelhante:

file2:
123|432|2344|123 445|23 rows
    
por Amu 13.03.2017 / 11:49

2 respostas

1

perl -F'=|\|' -pe '$_ = join "|", grep { $k++ % 2 } @F'

sed -e 's/[^=|]*=//g'
    
por 13.03.2017 / 12:15
0

Apenas tentei com este sed :

sed 's/[a-z,=]//g' | sed 's/$/rows/'

Ou seja, remover qualquer caractere entre "a" e "z" e também o "=". Depois disso, acrescente "linhas" no final.

Isso só foi testado com sua linha de exemplo. Se houver outras variantes em seu arquivo, talvez não funcione.

Outra maneira com awk tomando todos os valores entre "=" e "|":

awk '$0=$2' FS=\= RS='|' ORS="|" | head -1

Eu tive que canalizar head porque foi impresso um final "|" caractere em uma segunda linha após a saída esperada.

    
por 13.03.2017 / 12:15

Tags