Eu tenho um arquivo com uma lista de URLs como esta:
www.dell.com/any=abc&anyone=bcd
www.google.co.in
www.yahoo.com/abc=fgh
Quero limpá-los, pois eles mostram apenas dados com sinal de igual. Por exemplo, o acima deve se tornar:
www.dell.com/any=
www.dell.com/any=abc&anyone=
www.google.co.in
www.yahoo.com/abc=
Alguma sugestão de script para limpeza de código como este em python ou bash, etc?
Responder1
Se bem entendi, você deseja aplicar as seguintes transformações:
- Se a linha não contiver
=
, não faça nada - Se a linha contiver um único
=
, exclua tudo após o=
- Se a linha contiver múltiplos
=
, execute a etapa anterior repetidamente até que não haja nenhum, imprimindo os resultados intermediários em cada etapa
Aqui está uma maneira de fazer isso:
#!/usr/bin/env bash
while read line; do
if [[ "$line" == *=* ]]; then
while [[ "$line" == *=* ]]; do
line=${line%=*}
echo $line=
done
else
echo $line
fi
done
Se você salvar isso em um arquivo script.sh
, poderá usá-lo assim:
./script.sh < input.txt
Isso produzirá a saída que você perguntou em sua pergunta.