![]() |
|
|
Google unix.com
|
|||||||
| Форумы | Регистрация | Правила форума | Ссылки | Альбомы | ЧАВО | Список участников | Календарь | Поиск | Сегодняшние сообщения | Отметить форумы читать |
| UNIX Desktop для чайников Вопросы И Ответы Обсудить UNIX и Linux пользовательские интерфейсы, как GNOME, KDE, CDE, и Open Office здесь. Все UNIX и Linux Новички Добро пожаловать! |
Подробнее UNIX и Linux Темы форума можно найти полезные
|
||||
| Нить | Резьба для начинающих | Форум | Ответы | Последнее сообщение |
| Сценарист, необходимых для получения необходимой информации из файла. Просьба. помоги мне. | ntgobinath | Shell программирование и сценарии | 2 | 05-31-2008 09:34 AM |
| Форматирование | mirusnet | Shell программирование и сценарии | 3 | 01-06-2008 11:38 PM |
| Форматирование с использованием AWK | cdunavent | Shell программирование и сценарии | 2 | 03-18-2003 02:09 PM |
| форматирование | tamemi | UNIX для чайников Вопросы И Ответы | 5 | 07-21-2002 10:03 AM |
| форматирование | xeron | UNIX для чайников Вопросы И Ответы | 5 | 03-20-2002 11:33 AM |
![]() |
|
|
LinkBack | Резьба Инструменты | Искать в этом Thread | Оценить Thread | Режимы дисплея |
|
|
|
||||
|
Помощь требуется при форматировании
Я был бы признателен за любую помощь (SED / AWK / Perl) По следующему вопросу. Я имею в файл в формате. Отметим, что отчеты разделены линией, которая начинается со слова "След". Я хочу, чтобы 5-м и 6-м ценностей, на линию, начиная с "След", который будет повторяться вниз файл до следующей записи хитов (строки, начинающиеся с слово TRACE). Если это мой входной файл, то, пожалуйста, посмотрите на дне т.е. вывод, что я хочу, используя Perl или AWK.
INPUT \u003d\u003d\u003d\u003d\u003d\u003d\u003d TRACE mrjn05 6487 4922 358666,00 3154690,00 4 8 4 12068,6 12 12067,9 20 12066,7 28 12065,6 36 12064,7 44 12063,4 52 12062,1 60 12061,3 68 12060,9 76 12060,6 84 12057,9 92 12052,7 100 12052,1 TRACE mrjn05 6487 4923 358685,00 3154680,00 4 8 4 12068,6 12 12068 20 12066,9 28 12065,8 36 12064,7 44 12063,5 52 12062,2 OUTPUT \u003d\u003d\u003d\u003d\u003d\u003d\u003d TRACE mrjn05 6487 4922 358666,00 3154690,00 4 8 4 12068,6 358666,00 3154690,00 12 12067,9 358666,00 3154690,00 20 12066,7 358666,00 3154690,00 28 12065,6 358666,00 3154690,00 36 12064,7 358666,00 3154690,00 44 12063,4 358666,00 3154690,00 52 12062,1 358666,00 3154690,00 60 12061,3 358666,00 3154690,00 68 12060,9 358666,00 3154690,00 76 12060,6 358666,00 3154690,00 84 12057,9 358666,00 3154690,00 92 12052,7 358666,00 3154690,00 TRACE mrjn05 6487 4923 358685,00 3154680,00 4 8 4 12068,6 358685,00 3154680,00 12 12068 358685,00 3154680,00 20 12066,9 358685,00 3154680,00 28 12065,8 358685,00 3154680,00 36 12064,7 358685,00 3154680,00 44 12063,5 358685,00 3154680,00 52 12062,2 358685,00 3154680,00 Любая помощь по этому вопросу будет higly оценку. Этот файл действительно огромный (около 800 МБ), а я просто beginer. Пожалуйста, помогите. Последний раз редактировалось digipak; на 05-05-2009 07:15 AM.. Причина: плохое форматирование |
|
||||
|
Попробуйте это: Код:
awk '/^TRACE/{s=$5 FS $6;print;next}{print $0, s}' file
|
|
||||
|
Если у вас есть Python, вот альтернатива Код:
for line in open("file"):
line=line.strip()
if "TRACE" in line:
four,five = line.split()[4:6]
else: print line.strip(),four,five
|
|
||||
|
Ребята спасибо большое, я старался в AWK, и она отлично работает. Я сделал к сведению тот сценарий Python, когда я немного более комфортно с UNIX, с Божьей помощью, я буду стараться, что из. Франклин, спасибо большое за вашу помощь. Higly оценили
|
![]() |
| Закладки |
| Резьба Инструменты | Искать в этом Thread |
| Режимы дисплея | Оценить эту ветку |
|
|