Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

230
Visualizações
Elimine todo antes de incluir dos puntos y reemplace la coma por nueva línea

Estoy buscando solo para acomodar mi consulta en una sola línea.

Tengo un contenido de archivo a continuación donde quiero eliminar todo antes de los últimos dos puntos ( : incluido él mismo y luego reemplazar la coma ( , ) en una nueva línea para obtener los resultados deseados.

todos estos valores separados por comas son ID de usuario de Linux

Contenido del archivo:

 pa_tools:x:2998:nep08569,nep08623,nep14587,kpc12117,tpa06038,tpa10226,tpa14459,tpa14596,tpa21272,tpa28233,tpa32495,cpf30049,cpf32734,cpf38753,cpf41124,cpf41645,cpf42488,cpf42609,cpf54284,cpf55701,cpf56556,cpf61223,cpf64941,cpf66553,cpf69011,cpf72912,pfc37974,pfc40981,pfc48626,pfc69581,pfc80043,pfc82969,pfc84163,pfc87399,pfc87990,pfc87991,pfc98638,pa_tools_rs

Ya probado:

solución de trabajo:

 1- $ sed -e 's/.*://g' -e 's/\,/\n/g' test_g 2- $ awk -F: '{print $NF}' test_g| awk 'BEGIN{RS=","}{$1=$1}1' 3- $ cat test_g| tr "," "\n"| tr ":" "\n" | sed '1,3d'

resultado:

 $ sed -e 's/.*://g' -e 's/\,/\n/g' test_g nep08569 nep08623 nep14587 kpc12117 tpa06038 tpa10226 tpa14459 tpa14596 tpa21272 tpa28233 tpa32495 cpf30049 cpf32734 cpf38753 cpf41124 cpf41645 cpf42488 cpf42609 cpf54284 cpf55701 cpf56556 cpf61223 cpf64941 cpf66553 cpf69011 cpf72912 pfc37974 pfc40981 pfc48626 pfc69581 pfc80043 pfc82969 pfc84163 pfc87399 pfc87990 pfc87991 pfc98638 pa_tools_rs

¿Hay un truco mejor, por favor avise.

over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

Puede usar esta solución en cualquier versión de awk :

 awk -F: '{$0 = $NF; gsub(/,/, "\n")} 1' file nep08569 nep08623 nep14587 kpc12117 tpa06038 tpa10226 tpa14459 tpa14596 tpa21272 tpa28233 tpa32495 cpf30049 cpf32734 cpf38753 cpf41124 cpf41645 cpf42488 cpf42609 cpf54284 cpf55701 cpf56556 cpf61223 cpf64941 cpf66553 cpf69011 cpf72912 pfc37974 pfc40981 pfc48626 pfc69581 pfc80043 pfc82969 pfc84163 pfc87399 pfc87990 pfc87991 pfc98638 pa_tools_rs

Usando gnu-sed será algo similar a su intento de código:

 sed 's/.*://; s/,/\n/g' file
over 4 years ago · Santiago Trujillo Relatório

0

con sed :

 sed 's/.*://; s/,/\n/g' file # needs to be a sed the supports \n # GNU and recent BSD do support \n but that is a superset # of POSIX

Si su sed no admite \n en reemplazo, use una nueva línea con escape literal:

 sed 's/.*://; s/,/\ /g' file

O use tr para reemplazar , con \n :

 sed 's/.*://' file | tr ',' '\n'

Los tres imprimen:

 nep08569 nep08623 nep14587 ... pfc87991 pfc98638 pa_tools_rs
over 4 years ago · Santiago Trujillo Relatório

0

Usando sed

 $ sed 's/.*:\([^,]*\)\|,/\n\1/g' input_file nep08569 nep08623 nep14587 kpc12117 tpa06038 tpa10226 tpa14459 tpa14596 tpa21272 tpa28233 tpa32495 cpf30049 cpf32734 cpf38753 cpf41124 cpf41645 cpf42488 cpf42609 cpf54284 cpf55701 cpf56556 cpf61223 cpf64941 cpf66553 cpf69011 cpf72912 pfc37974 pfc40981 pfc48626 pfc69581 pfc80043 pfc82969 pfc84163 pfc87399 pfc87990 pfc87991 pfc98638 pa_tools_rs
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda