LINUX.ORG.RU

sed 's/.*<pattern>\(.*\)<\/pattern>.*/\1/' file
edigaryev ★★★★★ ()

sed 's#.*<pattern>\(.*\)</pattern>.*#\1#'

Nao ★★★★★ ()

Уточните - в строке еще что-то может быть? Вообще тут лучше использовать awk:

$ echo '<pattern>Строка, которую нужно вывести</pattern>' | awk -F '<pattern>' '{print $2}' | awk -F '</pattern>' '{print $1}'
Строка, которую нужно вывести

gserg ★★ ()
Ответ на: комментарий от gserg

Да, я сразу не подумал, мне фактически нужно, чтобы остальное все обрезалось, Ваш пример с awk, судя по всему, подходит лучше. Спасибо.

ostin ★★★★★ ()
Ответ на: комментарий от gserg

На одном awk'e можно сэкономить awk -F '<pattern>|</pattern>' '{print $2}'

sdio ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.