Форум Gatchina OnLine  

Вернуться   Форум Gatchina OnLine > Hard&Soft > Программирование и разработка

Программирование и разработка Обсуждение вопросов программирования

Ответ
 
Опции темы Опции просмотра
Старый 17.05.2007, 20:57   #21
ΛLIEN
пришелец
 
Аватар для ΛLIEN
 
Регистрация: 23.01.2006
Адрес: Земля, 013 в центуре

Нарушения:[Посмотреть]
Я так понимаю, ты пробелкавычка заменил на просто кавычка и вместо текст" "текст должно получиться текст""текст и оно уже нормально разделяется через awk?
__________________
Use the Source, Luke!
ΛLIEN вне форума   Ответить с цитированием
Старый 17.05.2007, 21:05   #22
Прохожий
Пешеход и человек
 
Аватар для Прохожий
 
Регистрация: 23.01.2006

Нарушения:[Посмотреть]
bash$ cat testfile |sed 's/" "/"/g'|awk 'BEGIN {FS="\""}; {split ($4,a," ")};{print $1,$2,$3,a[1],a[2],$5};'

я заменил кавычкапробелкавычка на просто кавычка и вместо текст" "текст получится текст"текст. разделяется нормально, потому что в FS сказано делить по кавычкам. но нужно еще 1955 500 разделить по пробелу, я это сразу не учел, но вышеприведенный код работает как надо. см:

Цитата:
bash$ cat testfile |sed 's/" "/"/g'|awk 'BEGIN {FS="\""}; {split ($4,a," ")};{print $1};'
1001
1001
1001
1001
1001
1001
1001
1001
Цитата:
bash$ cat testfile |sed 's/" "/"/g'|awk 'BEGIN {FS="\""}; {split ($4,a," ")};{print $2};'
Через тернии к звездам
Через тернии к звездам
Через тернии к звездам
Через тернии к звездам
Через тернии к звездам
Через тернии к звездам
Через тернии к звездам
Через тернии к звездам
Цитата:
bash$ cat testfile |sed 's/" "/"/g'|awk 'BEGIN {FS="\""}; {split ($4,a," ")};{print a[1]};'
1955
1955
1955
1955
1955
1955
1955
1955
ну и так далее. единственное замечание - поля 4 и 5 хранятся не в переменных $4 и $5, а в элементах массива a[1] и a[2], а поле 6 - в переменной $5 содержимое остальных переменных соответствует их именам.
Прохожий вне форума   Ответить с цитированием
Старый 17.05.2007, 22:16   #23
ΛLIEN
пришелец
 
Аватар для ΛLIEN
 
Регистрация: 23.01.2006
Адрес: Земля, 013 в центуре

Нарушения:[Посмотреть]
Цитата:
Сообщение от Прохожий Посмотреть сообщение
...содержимое остальных переменных соответствует их именам.
10х еще раз. Надо будет в ближайшее время приобщиться к man sed. =)
__________________
Use the Source, Luke!
ΛLIEN вне форума   Ответить с цитированием
Старый 17.05.2007, 22:26   #24
Прохожий
Пешеход и человек
 
Аватар для Прохожий
 
Регистрация: 23.01.2006

Нарушения:[Посмотреть]
не за что
sed прост и в 99% случаев достаточно только одной его команды - s.
awk намного более могуч и в принципе они вполне взаимозаменяемы, хотя простые вещи вроде замены с использованием регулярных выражений на sed записываются короче, из-за этого я его и пользую

если ты с файлом все же напутал - отпишись, я подправлю скриптик. если сам не сможешь, конечно
Прохожий вне форума   Ответить с цитированием
Старый 19.05.2007, 01:24   #25
ΛLIEN
пришелец
 
Аватар для ΛLIEN
 
Регистрация: 23.01.2006
Адрес: Земля, 013 в центуре

Нарушения:[Посмотреть]
Цитата:
Сообщение от Прохожий Посмотреть сообщение
отпишись, я подправлю скриптик.
Да нет, не надо. Работает.
/me читает man sed
Так много интересного. =)
__________________
Use the Source, Luke!
ΛLIEN вне форума   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Linux stz Операционные системы 443 22.08.2018 11:58
Открытый лекторий по Linux в Петербурге M@GIC Операционные системы 4 20.03.2007 23:17
LINUX Suse v.10 Din-ngo Операционные системы 6 14.03.2006 00:34


Текущее время: 01:30. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot