Удалить данные между 2 словами

При попытке решить проблемы, подобные этой, Cygwin Package Search - ваш друг. В данном конкретном случае он сообщает, что вам нужно установить libopenssl100.

Встроенный поиск Cygwin setup.exe не нашел этого, потому что он ищет только имена файлов пакетов и текст описания. Он не ищет по именам файлов, включенных в пакеты, как это делает вышеупомянутый веб-поисковик. Для этого вам пришлось бы увеличить размер текущего файла setup.ini с полным указателем имен файлов, что значительно замедлило бы поиск и запуск setup.exe.

Некоторые пакеты Cygwin лучше справляются с перечислением компонентов пакета в длинном тексте описания, поэтому встроенный поиск иногда выдает такие внутренние сведения о пакете. Однако нет правила, предписывающего делать это.

В целом, это не тот случай, когда в Cygwin есть зависимости, которые вы должны компилировать вручную. Люди, которые контролируют, какие пакеты попадают в Cygwin, не позволят сопровождающему пакета предоставить такой полуразрушенный пакет.

Вы можете найти устаревшие пакеты в Cygwin, но доступные версии, по крайней мере, должны быть согласованными в том смысле, что все части, необходимые для работы программы в собранном виде, присутствуют в репозитории.

0
11.03.2019, 18:53
2 ответа

Вы можете изменить свою команду, например:

sed 's/user.*Gecko)//g'

Подстрока user.....Gecko)будет удалена.

Вы можете использовать:

sed -Ee "s/(.*)(user.*Gecko\))(.*)/\1\3/g" filename

Он просто напечатает первое и третье поля и проигнорирует второе поле, которое содержит все между пользователем и Gecko ), включая оба.

Если вы уверены, что userне является начальным словом, а Gecko)не последним словом, вы можете использовать:

sed -Ee "s/(.*) (user.*Gecko\)) (.*)/\1 \3/g" filename

этот более точен, так как заменяет только слова, разделенные пробелом.

2
28.01.2020, 02:30

Я пробовал с помощью приведенной ниже команды, и она работала нормально

awk '{print $1,$2,$NF}'  filename

выход

abcd: efgh print
ijkl: mnop second
0
28.01.2020, 02:30

Теги

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