LINUX.ORG.RU

[awk] Вывести все поля, кроме первого

 


0

0

Собственно пишу для себя на awk что-то типа Markdown. Пишу обработку цитат (начинающихся с ">"). Естественно, что первое поле (">") выводить не надо. Как вывести все остальное? Пробовал делать $1 = "" и затем print $0, но остается лишний пробел в начале строки. Как делать правильно?

anonymous

Ответ на: комментарий от anonymous

Покрасивше будет

sed 's/^>*\s*//'

Но ведь нужно на awk...

Slavaz ★★★★★
()

Сделал $0 = substr($0, 3) с учетом фиксированной длины первого поля :) Всем спасибо, продолжаю учить awk.

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

Как так? Раз Markdown, как же в случае четырёх пробелов вначале?

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

>перл для этих целей имхо погламурней.

Что-то не вижу смысла тут perl юзать. Для ссылок (и прочего inline) у меня sed, для заголовков, цитат и прочих блоковых элементов — awk. Все это связано простым скриптом на sh (типа ./a.sed | ./b.awk). Ну и работает.

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