Поиск общего шаблона из строк ввода с помощью одной команды - PullRequest
0 голосов
/ 14 февраля 2019

У меня ниже двух строк.Я хочу только часть строки, которая имеет .script & after / using одну команду.

Входные строки

hello/world/command_altr.program_for_input.script   
hello/world/script/deleted_the_input.program_for_output.script
/com/bash/hastag/welcome/program -u util/basic/level/learning

Ожидаемый вывод:

command_altr.program_for_input.script 

deleted_the_input.program_for_output.script

1 Ответ

0 голосов
/ 14 февраля 2019

Если я правильно понимаю вашу проблему, это можно решить с помощью sed.

sed -n -r -e 's/^.*\/([^/]+\.script).*$/\1/p'

Она извлечет данный шаблон и распечатает его.Линии без рисунка отбрасываются.

^.*\/ ищет строку, начинающуюся с начала строки, содержащей любой символ и заканчивающийся символом /

([^/]+\.script), ищет повторение одного или нескольких символов (кроме /), после чего следуетточка и строка «скрипт».Если он найден, он помещается в запоминаемый шаблон благодаря (....)

.*$ поискам любого числа символов до end_of_line

/\1/ заменяет строку запомненным шаблоном.

'p' печатает, если шаблон был найден.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...