The UNIX and Linux Forums  

Go Back   В UNIX и Linux Форумы > Топ форумы > Shell программирование и сценарии
.
Google unix.com



Shell программирование и сценарии Почтовые вопросы о KSH, CSH, SH, BASH, Perl, PHP, SED, AWK и скрипты оболочки и оболочки скриптовых языков здесь.

Подробнее UNIX и Linux Темы форума можно найти полезные
Нить Резьба для начинающих Форум Ответы Последнее сообщение
слияния двух файлов vakharia Махеш Shell программирование и сценарии 7 09-15-2008 01:32 PM
Слияние массивов jakSun8 Shell программирование и сценарии 4 07-02-2008 12:13 AM
Слияние двух файлов venommaker UNIX для чайников Вопросы И Ответы 4 01-10-2008 08:15 AM
Слияние информация Манан Shell программирование и сценарии 3 05-20-2006 08:51 AM
Слияние Справка kumarc Shell программирование и сценарии 3 05-04-2006 03:24 PM

 
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered By Powered by Google
 
LinkBack Резьба Инструменты Искать в этом Thread Оценить Thread Режимы дисплея
Old 01-05-2009
ssachins ssachins is offline
Зарегистрированный пользователь
  
 

Регистрация: Январь 2009
Сообщений: 29
Объединение строк

Привет, ребята,

Желаю вам всем очень счастливого Нового Года!!!.

Спасибо заранее.

Я хочу, чтобы прочитать файл и объединить строк, которые '\ N' в нем.
В строке может быть> 50000 байт. Этот сценарий должен объединить все строки до следующей строки начинается со слова "Вид | '.
шт.
Тип | билеты | TradeID | 42224A | SystemID | DDDD61266 | SourceSystem | RMS | Версия | 5 | LatestVersionYN | Y | Counterpa rty | ОФ | DBLegalEntity | Лондон | Примечания | CAL событий добавил | продавца | DHX | LastUpdated | DEC 2008 18:31 : 40 | Action | Exp | DealCaptureSystem | Продажи | CustomerSourceSystem | RMS | клиентов | AUGS | ActionEffectiveDa Te | DEC 2008 00:00:00 | BookingLocation | Лондон | EnteredBy | GONU | MarkupAmt | 100 | MarkupCcy | KEX | PremiumCurrency | EUR | Premi umAmount | 000 | PremiumDate | DEC 2008 | PremiumHasPaidYN | N | BookingDetails | 9000/mihl
Клиент продает KEZUSD
ул исх 1,3724
Залоговое Село находится на ST
52 Селе, начиная


Тип | FxDiscreteDNT | TradeID | SSA32553H | SystemID | GGT04481 | SourceSystem | RMS | SourceSystemBook | OT | Книги | OT | BookBranchParent | Переход | Версия | 8 | LatestVersionYN | Y | Контрагент | Д.р. | Положение | KnockedOut | IsLiveYN | N | DBLega lEntity | Лондон | LastUpdated | янв 2009 00:26:35 | Action | KnockedOut | CounterpartySourcesystem | RMS | TradeDate | июл 2006 | ProductID | KKI99106 | StructureID | DDS32553 | DealCaptureSystem | RMS | CustomerSourceSystem | RMS | клиентов | ESL | PricingSite | Вариант | UnderCurrency1 | JPY | AccCurrency1 | США | UpBarrier1 | 1.5 | LowBarrier1 | 1 | UnderCurrenc Y2 | JPY | AccCurrency2 | Ч | UpBarrier2 | 1.64 | LowBarrier2 | 1.49 | UnderCurrency3 | EUR | AccCurrency3 | JPY | UpBarrie r3 | 175 | LowBarrier3 | 105 | LastFixed

В outout следует
Ниже записи должны быть в одной строке.

Тип | билеты | TradeID | 42224A | SystemID | DDDD61266 | SourceSystem | RMS | Версия | 5 | LatestVersionYN | Y | Counterpa rty | ОФ | DBLegalEntity | Лондон | Примечания | CAL событий добавил | продавца | DHX | LastUpdated | DEC 2008 18:31 : 40 | Action | Exp | DealCaptureSystem | Продажи | CustomerSourceSystem | RMS | клиентов | AUGS | ActionEffectiveDa Te | DEC 2008 00:00:00 | BookingLocation | Лондон | EnteredBy | GONU | MarkupAmt | 100 | MarkupCcy | KEX | PremiumCurrency | EUR | Premi umAmount | 000 | PremiumDate | DEC 2008 | PremiumHasPaidYN | N | BookingDetails | 9000/mihl Клиент продает KEZUSD ул исх 1,3724 Залоговое Село находится в 52 ST Селе, начиная

Тип | FxDiscreteDNT | TradeID | SSA32553H | SystemID | GGT04481 | SourceSystem | RMS | Версия | 8 | LatestVersionYN | Y | Контрагент | Д.р. | DBLegalEntity | Лондон | LastUpdated | янв 2009 00:26:35 | Action | KnockedOut | DealCaptureSystem | RMS | CustomerSourceSystem | RMS | клиентов | ESL | PricingSite | O ption | UnderCurrency1 | JPY | AccCurrency1 | США | UnderCurrency3 | EUR | AccCurrency3 | JPY | UpBarrier3 | 175 | LowBarri er3 | 105 | LastFixed

Я попытался с помощью нижеуказанному AWK скрипта, но не может справиться> 20000 байт. Кроме того, используя в качестве String 'LINE_BREAK' для идентификации строк получил объединены.

FileName \u003d LINE_TEST.TXT
FileName1 \u003d O_LINE_TEST.TXT
Выходной_файл \u003d OUTPUT_WITHOUT_LINE_BREAK.tmp
если [[-E $ FileName]], затем
SED "S /% / доли / G" $ FileName> $ FileName1
# # Чтобы удалить '%', как 'AWK' не может справиться с ней.

/ usr/xpg4/bin/awk 'NR \u003d\u003d 1 (printf $ 0;) следующая
! / ^ TradeType / (printf "LINE_BREAK" $ 0;) следующая
(printf "\ N" $ 0)
END (печати "")
'$ FileName1> $ выходной_файл
FI
 

Закладки

Резьба Инструменты Искать в этом Thread
Искать в этом Thread:

Расширенный поиск
Режимы дисплея Оценить эту ветку
Оценить эту ветку:

Отправка Правила
Вы не может Начать новую нитей
Вы не может Почтовые ответы
Вы не может Почтовые вложения
Вы не может Редактировать Ваши сообщения

BB код быть На
Смайлики являемся На
[IMG] код На
HTML-код Вне
Trackbacks являемся На
Pingbacks являемся На
Refbacks являемся На




Часовой пояс GMT -4. Текущее время 03:21 AM.


Powered By: Справка, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Язык Переводы на питание от .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
В UNIX и Linux форумы Содержание Copyright © 1993-2009. Все права Reserved.Ad управления по RedTyger

Содержание соответствующие URL-адреса в vBSEO 3.2.0