У меня есть файл со списком URL-адресов, например:
www.dell.com/any=abc&anyone=bcd
www.google.co.in
www.yahoo.com/abc=fgh
Я хочу очистить их, так как они показывают только данные до знака равенства. Например, выше должно быть:
www.dell.com/any=
www.dell.com/any=abc&anyone=
www.google.co.in
www.yahoo.com/abc=
Есть ли какие-нибудь предложения по скриптам для очистки подобного кода в Python или Bash и т. д.?
решение1
Если я правильно понимаю, вы хотите применить следующие преобразования:
- Если строка не содержит
=
, ничего не делать. - Если строка содержит один символ
=
, то удалите все после него.=
- Если строка содержит несколько символов
=
, то повторите предыдущий шаг, пока не останется ни одного, выводя промежуточные результаты на каждом шаге.
Вот один из способов сделать это:
#!/usr/bin/env bash
while read line; do
if [[ "$line" == *=* ]]; then
while [[ "$line" == *=* ]]; do
line=${line%=*}
echo $line=
done
else
echo $line
fi
done
Если вы сохраните это в файле script.sh
, вы можете использовать его следующим образом:
./script.sh < input.txt
Это даст результат, который вы указали в своем вопросе.