2016-02-03 3 views
1

Я пытаюсь использовать sed для замены> \ u00018øÏùÄ с нулевым значением в json-файле, который был неправильно преобразован другой группой. Но СЕПГ, кажется, не делать что-либоИспользование «sed» в файле JSON для поиска и замены

sed -i 's|B\u001eøøïùÄ|null|g' 02_20060711_002_2.json 

Например, если JSON выглядит

{"my_log (PA1)": {"test_number_n": "3999999", "timestamp_log": "04:28:21.218", "trans_blah_i": "0", "record_test_type": {"sequence_nbr_u": "999"}, "filler_2_s": "", "dd": {"ty": {"ex_user_code": {"country_id_s": "", "user_id_s": "", "filed2": ""}, "whose": {"testing_code": {"city_id_s": "", "user_id_s": "", "fggstomer_s": ""}, "ex_client_s": "", "filler_2_s": ""}, "series": {"ticket_c": "0", "strike_test_i": "0", "can_n": "0", "country_c": "0", "instrument_group_c": "0", "expiration_date_n": "0", "modifier_c": "0"}, "exchange_info_s": "", "customer_info_s": "B\u001eøøïùÄ", "onu": "34", "ak": "0", "trading_code": {"city_id_s": "jk", "user_id_s": "O05", "ex_cur_s": "21 "}}, "timestamp_in_q": "03:28:21.217"}}} 
+1

Итак, записывайте приложение Java для анализа документа? У нас есть 10 ТБ этих документов. – Colman

+1

Также я должен упомянуть, что причина, по которой я пытаюсь это сделать, состоит в том, что парсеры, похоже, падают, когда затем читают json-файл DATA_READ ERROR: Ошибка синтаксического анализа JSON - Недопустимый стартовый байт UTF-8 0xf8 Файл – Colman

+0

Да, я использовал сверло apache для запросите файл. Спасибо, что полезно – Colman

ответ

1

Вы должны избежать обратной косой черты в вашей SED команды. Попробуйте это:

sed -i 's|B\\u001eøøïùÄ|null|g' 02_20060711_002_2.json 

Пробовал его на месте, и это, казалось, работало.

+0

Интересно, если я запустил это в файле с одной записью в нем, он отлично работает. Если я запускаю его против всего файла, он, похоже, ничего не делает. У sed проблемы с большими файлами? – Colman

+0

Не обращайте внимания на то, как файл закодирован. – Colman

Смежные вопросы