Похожие вопросы

Автоматически генерировать имя файла с помощью bash
вывод awk печать в два отдельных файла
/dev / dsp отсутствует в debian и не слышит фестивальных звуков
Нет необходимости в экспорте при выполнении функций в subshell
пример cURL для доступа к аутентифицированному API Kraken
найти количество команд из файла [закрыт]
Пробелы в переменных среды Linux?
Запуск jpegoptim в cronjob раз в неделю, на CentOS из cPanel, только для файлов, добавленных в течение прошлой недели?
перенаправление netcat и tee через скрипт bash
iTerm2: получить номер вкладки из оболочки bash
Имейте файл с именем ~ (Тильда) в моем домашнем каталоге
Как удалить / сбросить подсистему Windows для Linux на Windows Insider сборки 14316
IPTables - разрешить (принять) определенные IP-адреса в заблокированной подсети
Баш - преобразовать все экземпляры формат даты ДД-ММ-гггг гггг-ММ-ДД [закрыт]
Bash скрипты не работают, но на Mac терминала эти команды в скриптах работает

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