![]() |
|
|
Google unix.com
|
|||||||
| Форумы | Регистрация | Правила форума | Ссылки | Альбомы | ЧАВО | Список участников | Календарь | Поиск | Сегодняшние сообщения | Отметить форумы читать |
| Shell программирование и сценарии Почтовые вопросы о KSH, CSH, SH, BASH, Perl, PHP, SED, AWK и скрипты оболочки и оболочки скриптовых языков здесь. |
Подробнее UNIX и Linux Темы форума можно найти полезные
|
||||
| Нить | Резьба для начинающих | Форум | Ответы | Последнее сообщение |
| Доклад поколения | gmahesh2k | Shell программирование и сценарии | 3 | 05-16-2008 03:33 AM |
| Доклад поколения | gmahesh2k | UNIX для чайников Вопросы И Ответы | 2 | 05-16-2008 02:41 AM |
| Поколение копирования файлов для резервного копирования технической поддержки | sjohnson | UNIX для чайников Вопросы И Ответы | 12 | 04-04-2008 08:39 AM |
| Oracle Доклад поколения | DILEEP410 | Shell программирование и сценарии | 7 | 01-04-2007 04:52 AM |
| Штрих-код поколения в текстовый файл и печать, используя тот же LP команды. | Manjunath Наик | SUN Solaris | 0 | 05-26-2005 03:50 AM |
![]() |
|
|
LinkBack | Резьба Инструменты | Искать в этом Thread | Оценить Thread | Режимы дисплея |
|
|
|
||||
|
AWK-отчета от входной файл
Я входной файл ниже содержания:
Лицо: Название: Firstname1 lastname1 Адрес: 111, Straat Город: Hilversum Лицо: Название: Fistname2 lastname2 Адрес: 222, улица Соч: Bussum Лицо: Название: Firstname2 lastname3 Адрес: 333, станция Straat Город: Амстердам Мне нужен выходной файл withe ниже содержание: lastname1 111 Hilversum lastname2 222 Bussum lastname3 333 Амстердам возможно ли, если да, то каким образом? Спасибо |
|
||||
|
AWK-отчета от входной файл
Благодаря Klashxx
его прекрасная, она работает. Я пытался undersand чем FS \u003d "()|(,)" делать? Не могли бы вы дать больше информации по этому вопросу, но без вышеупомянутой также вывод же AWK '/ ^ Название / \u003d (N) $ Н.Ф. / ^ Адрес / A \u003d (2) $ / ^ Город / (печати N, A, $ Н.Ф.)' inpfile lastname1 111, Hilversum lastname2 222, Bussum lastname3 333, Амстердам Теперь запрос отличается: входной файл: Лицо: Название: Firstname1 lastname1 Адрес: 111, улица "Narder Straat" Город: Hilversum Лицо: Название: Fistname2 lastname2 Адрес: 222, улица "Zoud Straat" Город: Bussum Лицо: Название: Firstname2 lastname3 Адрес: 333, улица "Станция Straat" Город: Амстердам Мне нужен файл outout как ниже: lastname1 111 "Narder Straat" Hilversum lastname2 222 "Zoud Straat" Bussum lastname3 333 "Станция Straat" Амстердам Еще раз спасибо |
|
||||
|
FS означает Поле Разделитель, используя ПС \u003d "()|(,)" означает что ПС это пространство или ',' Если вы используете это заявление, в результате lastname1 111 Hilversum lastname2 222 Bussum lastname3 333 Амстердам без ПС \u003d"()|(,)" результат: lastname1 111, Hilversum lastname2 222, Bussum lastname3 333, Амстердам они отличаются, прежде составляет 111, и потом, это 111, Код:
> cat data Person: Name: Firstname1 lastname1 Address: 111, Street "Narder straat" City : Hilversum Person: Name : Fistname2 lastname2 Address: 222, Street "Zoud straat" City: Bussum Person: Name : Firstname2 lastname3 Address: 333, Street "Station straat" City: Amsterdam Код:
> awk 'BEGIN{FS="( )|(,)"} /^Name/{n=$NF}/^Address/{a=$2" "$4" "$5}/^City/{print n,a,$NF}' data
lastname1 111 "Narder straat" Hilversum
lastname2 222 "Zoud straat" Bussum
lastname3 333 "Station straat" Amsterdam
. Аарон |
|
||||
|
Привет Аарона
Это нормально, так что мы отображение 4 и 5-го поля адреса. Я не уверен, что если на улице содержит всего 2 поля, оно может содержать более таких областях, как "ваше и мое Straat И другие Straat а" в данном случае я не могу использовать только 4-й и 5-го поля. Таким образом, чтобы быть очень четкими, мое требование Мне нужен 3-го места из строки, содержащей название с ПС "" пространство: Мне нужно 2-го места от линии, которая содержит адрес с FS () пространства и необходимость 2-го подал в одной строке с FS ( ") Цитата и Мне нужен 2-й пол форма строки, содержащей города с FS () пространстве. Спасибо еще раз. McLan |
|
||||
|
Код:
awk 'BEGIN{FS="( )|(,)"} /^Name/{n=$NF}/^Address/{split($0, arr, "\""); a=$2" \"" arr[2]"\""}/^City/{print n,a,$NF}' data
может быть, это то, что вы хотите! . Аарон |
![]() |
| Закладки |
| Резьба Инструменты | Искать в этом Thread |
| Режимы дисплея | Оценить эту ветку |
|
|