Есть текст следующего содержания:
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
-
- Сообщения: 2268
- Статус: Линукссаксовец
- ОС: MS Windows XP Home SP3
Re: Начало вывода, и последний символ
А еще можно так:
cat mail.txt | cut -f 4 -d " "| cut -f 1 -d "("
Не. Так не получилось. Глюк.
сорри
Если размер строки всегда один, то можно
cat mail.txt | cut -с 23-32
Конечно вариант с sed от /dev/random лучше, мощнее и универсальней
cat mail.txt | cut -f 4 -d " "| cut -f 1 -d "("
Не. Так не получилось. Глюк.

Если размер строки всегда один, то можно
cat mail.txt | cut -с 23-32
Конечно вариант с sed от /dev/random лучше, мощнее и универсальней
Внимание: У меня под рукой нет машины с Linux. Я не использую эту ОС. Ответы я даю либо по памяти, либо мне помогает гугл. Тщательно читайте маны по тем командам и конфигурационным файлам, которые я упоминаю.
0xDEFEC8ED
0xDEFEC8ED
Спасибо сказали: