Массовая очистка параметров 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, и т. д.?

5
задан JakeGould
источник

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

это произведет выход вы спросили в вашем вопросе.

2
отвечен janos 2017-01-29 21:07:20
источник

Другие вопросы bash shell-script