Массовая очистка параметра URL из txt файла
У меня есть файл со списком 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
Это даст результат, который вы задали в своем вопросе.