![Como deletar/substituir tudo na coluna após determinado caractere obtido com o awk?](https://rvso.com/image/97211/Como%20deletar%2Fsubstituir%20tudo%20na%20coluna%20ap%C3%B3s%20determinado%20caractere%20obtido%20com%20o%20awk%3F.png)
Exemplo de arquivo.txt:
/map/1.0.0/cd/base/4/23/82.png 200
/map/1.0.0/cd/base/2/48/154.png?fefsfes 200
/map/1.0.0/cd/base/3/45/433.png?gtdrdrg 200
Eu preciso deletar isso:
.png
.png?fefsfes
.png?gtdrdrg
Eu uso isso
$ cat file.txt | awk '{ print $1","$2}'
para obter resultado:
/map/1.0.0/cd/base/4/23/82.png,200
/map/1.0.0/cd/base/2/48/154.png?fefsfes,200
/map/1.0.0/cd/base/3/45/433.png?gtdrdrg,200
Posso de alguma forma buscar a coluna awk '{ print $1}'
e excluir tudo após o último número?
Resultado desejado:
/map/1.0.0/cd/base/4/23/82,200
/map/1.0.0/cd/base/2/48/154,200
/map/1.0.0/cd/base/3/45/433,200
Responder1
Se você quiser preservar a essência do seu comando awk, você pode simplesmente sub
eliminar a parte final indesejada do$1
awk '{sub(/\.png.*$/,"",$1); print $1","$2}' file
ou (talvez mais desajeitadamente)
awk '{sub(/\.png.*$/,"",$1)}1' OFS=, file
Responder2
Você pode tentar a solução awk abaixo -
awk 'BEGIN{FS=".png| "} {print $1,$NF}' kk.txt |tr ' ' ','
usando separador de campos múltiplos.