Como imprimir colunas do arquivo com delimitador?

0

De:

pa: Pensilvania:145
mo:Misuri:50
va:Virginia:20

Print1:

pa:
mo:
va:

Print2:

pa: Pensilvania
mo: Misuri
va:Virginia

sed ou cut será o preferido.

    
por The Tourist 02.01.2018 / 01:14

1 resposta

2

Aqui está uma maneira:

$ awk -F: '{print $1 FS}' file
pa:
mo:
va:

e

$ awk -F: '{print $1 FS $2}' file
pa: Pensilvania
mo:Misuri
va:Virginia

Se você preferir cut , o segundo é simples:

$ cut -d: -f1,2 file
pa: Pensilvania
mo:Misuri
va:Virginia

Para obter o delimitador à direita desejado no primeiro caso, você pode usar paste :

$ cut -d: -f1 file | paste -d: - /dev/null
pa:
mo:
va:

OTOH este é fácil com sed :

$ sed 's/:.*/:/' file
pa:
mo:
va:

enquanto o segundo leva um pouco mais de reflexão:

$ sed 's/:[^:]*//2' file
pa: Pensilvania
mo:Misuri
va:Virginia
    
por steeldriver 02.01.2018 / 01:18