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