Перейти к содержанию

Осваиваю awk, нужна помощь


Рекомендуемые сообщения

Есть файлик test.log в нём такая запись:

Jane Doe
123 Main Street
Anywhere, SE 12345-6789

John Smith
456 Tree-lined Avenue
Smallville, MW 98765-4321

Как заставить awk считать это многострочной записью?

Должно быть так:

Jane Doe
123 Main Street
Anywhere, SE 12345-6789

Я ввожу:

awk 'begin {RS="";FS="\n"} {print $1}' test.log

Но у меня выходит так:

Jane
123
Anywhere,

John
456
Smallville,

Что я делаю не так? Как правильней всего? Нужно именно в awk.

Ссылка на комментарий

Нужно писать "BEGIN", а не "begin"

"print $1" - выведет первое поле записи, а не первую запись.

Получаца тебе надо:

awk 'BEGIN{RS="";FS="\n";string_num = 1} { if(NR == string_num) { print $0; } } test.log '

Ссылка на комментарий

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...