The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"оставить первые 10 символов в строке, остальные удалить"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [ Отслеживать ]

"оставить первые 10 символов в строке, остальные удалить"  
Сообщение от nastr email(ok) on 23-Фев-09, 13:53 
Есть файл со столбцами, разделёнными ":" (двоеточием) нужно что бы в определённо столбце было 10 символов, то есть оставить первые 10, остальные удалить.
Пытался реализовать по средствам awk, не вышло.
grep error#: CHRIS_02230806.txt | gawk -F":" '{printf "s\n", $2}'
какие есть соображения, как это реализовать?
Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "оставить первые 10 символов в строке, остальные удалить"  
Сообщение от gaa (ok) on 23-Фев-09, 15:40 
В awk есть функция substr как раз для того, чтобы выделять подстроку.

Или же можно сделать что-нибудь вроде замены s/([^:]{10})[^:]*:/\1/, ну и отдельно обработать последний столбец

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "оставить первые 10 символов в строке, остальные удалить"  
Сообщение от LHC on 23-Фев-09, 15:53 
>Есть файл со столбцами, разделёнными ":" (двоеточием) нужно что бы в определённо
>столбце было 10 символов, то есть оставить первые 10, остальные удалить.
>
>Пытался реализовать по средствам awk, не вышло.
>grep error#: CHRIS_02230806.txt | gawk -F":" '{printf "s\n", $2}'
>какие есть соображения, как это реализовать?

Стоит попробовать sed:
http://www.student.northpark.edu/pemente/sed/sedfaq4.html#s4.12

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "оставить первые 10 символов в строке, остальные удалить"  
Сообщение от ACCA (ok) on 23-Фев-09, 22:24 
для bash:

IFS=':'
grep error#: CHRIS_02230806.txt | while read c1 c2 c3 rest_of_them
do
    echo ${c2:0:10}
done

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "оставить первые 10 символов в строке, остальные удалить"  
Сообщение от AMDmi3 (??) on 25-Фев-09, 22:10 
>Есть файл со столбцами, разделёнными ":" (двоеточием) нужно что бы в определённо
>столбце было 10 символов, то есть оставить первые 10, остальные удалить.
>
>Пытался реализовать по средствам awk, не вышло.
>grep error#: CHRIS_02230806.txt | gawk -F":" '{printf "s\n", $2}'
>какие есть соображения, как это реализовать?

В awk есть substr.
awk -v OFS=: -F: '{$2=substr($2,0,10); print}'

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Спонсоры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2022 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру