Limpieza masiva de parámetros de URL desde un archivo txt

Limpieza masiva de parámetros de URL desde un archivo txt

Tengo un archivo con una lista de URL como esta:

www.dell.com/any=abc&anyone=bcd
www.google.co.in 
www.yahoo.com/abc=fgh

Quiero limpiarlos ya que solo muestran datos hasta el signo igual. Por ejemplo, lo anterior debería convertirse en:

www.dell.com/any=
www.dell.com/any=abc&anyone=
www.google.co.in 
www.yahoo.com/abc=

¿Alguna sugerencia de script para la limpieza de código como este en Python o bash, etc.?

Respuesta1

Si entiendo correctamente, desea aplicar las siguientes transformaciones:

  • Si la línea no contiene =, no hagas nada
  • Si la línea contiene un solo =, elimine todo lo que esté después del=
  • Si la línea contiene varios =, realice el paso anterior repetidamente hasta que no haya ninguno, imprimiendo los resultados intermedios en cada paso.

Aquí hay una forma de hacerlo:

#!/usr/bin/env bash

while read line; do
    if [[ "$line" == *=* ]]; then
        while [[ "$line" == *=* ]]; do
            line=${line%=*}
            echo $line=
        done
    else
        echo $line
    fi
done

Si guarda esto en un archivo script.sh, puede usarlo así:

./script.sh < input.txt

Esto producirá el resultado que solicitó en su pregunta.

información relacionada