Начало вывода, и последний символ

На самом деле это единственный раздел про unix на этом форуме

Модераторы: /dev/random, Модераторы разделов

Grih65kop
Сообщения: 145

Начало вывода, и последний символ

Сообщение Grih65kop »

Есть текст следующего содержания:
jh34m2j3 (Und qwerty: d35FqFGEt2)
m23jg34k (Und qwerty: CF1rgsdF2d)
ghk12b4l (Und qwerty: Et21rgd35F)
...

Из него следует получить:
d35FqFGEt2
CF1rgsdF2d
Et21rgd35F

Начал делать так:
awk -F\ '{print($4)}' mail.txt

Получаю:
d35FqFGEt2)
CF1rgsdF2d)
Et21rgd35F)

Собственно понятно почему там ")", т.к. там нету моего разделителя. Как мне удалить именно последний символ?

-------------------------------------------------

Знаю как при помощи sed удалить последний символ. Каким способом мне тогда выводить текст после "qwerty: "
sed 's/.$//' 123.txt -удаляет последний символ

Может быть есть более рациональные варианты?
Спасибо.
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5404
ОС: Gentoo

Re: Начало вывода, и последний символ

Сообщение /dev/random »

sed 's/.*: \(.*\))/\1/'
Спасибо сказали:
Аватара пользователя
nesk
Сообщения: 2268
Статус: Линукссаксовец
ОС: MS Windows XP Home SP3

Re: Начало вывода, и последний символ

Сообщение nesk »

А еще можно так:
cat mail.txt | cut -f 4 -d " "| cut -f 1 -d "("

Не. Так не получилось. Глюк. :( сорри

Если размер строки всегда один, то можно
cat mail.txt | cut -с 23-32

Конечно вариант с sed от /dev/random лучше, мощнее и универсальней
Внимание: У меня под рукой нет машины с Linux. Я не использую эту ОС. Ответы я даю либо по памяти, либо мне помогает гугл. Тщательно читайте маны по тем командам и конфигурационным файлам, которые я упоминаю.

0xDEFEC8ED
Спасибо сказали: