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.