Мне нужно обрабатывать плоские файлы с разделителями-ограничителями, в которых каждое поле входит в двойные кавычки.Проблема при обращении с плоскими файлами с разделителями по трубе, каждое поле в двойных кавычках. Что может быть решением здесь
выборка данных:
"1193919"|"false"|""|"Mr. Andrew Christopher Alman"|""|""|"Mr."
Я написал много команд поглазеть в моих сценариях. Теперь вопрос:
вопрос: Рассмотрим эту строку: "1193919|false||Mr. Andrew Christopher Alman"|""|"Mr."
Мой сценарий берет выше, как 6 различных полей
"1193919
false
[null]
Mr. Andrew Christopher Alman"
[null]
"Mr."
Но данные файлы отправляются с намерением, что "1193919|false||Mr. Andrew Christopher Alman"
должны быть приняты как одно поле, окруженное двойными кавычками.
Моя мысль: я думал сменить полевой разделитель from | to "|"
У этого есть несколько вопросов. Последние и первые поля будут отображаться как "1193919
и Mr."
. Я не хочу использовать '["][|]["]|^["]|["]$'
в качестве разделителя полей, потому что это увеличит число полей, и мои другие коды должны будут идти, хотя основное изменение.
Я прошу о решении что-то вроде: Использование | как разделитель полей, только если за ним следует «и предшествует». Но полевой разделитель будет | а не «|»
выпуск 2:
"1193919""|"false"""|""|"Mr. Andrew Christopher Alman"
В то же время я хочу сообщить об ошибке в "false"""
, что-то вроде /^"["]+ | ["]+["]$/ and not /^""$/
Хороших данных должен быть ниже формате
"1193919"|"false"|""|"Mr. Andrew Christopher Alman"
Хорошие решения ниже, но зачем отправлять данные с полевыми разделителями, встроенными в поля.Использовать значение для FS, которое отсутствует в данных, было бы другим решением этой проблемы. Удачи. – shellter
Иногда у вас просто есть данные таким образом, поле данных может иметь только разделитель в качестве данных, и вы просто должны его обработать. Я пишу эти скрипты для обработки огромного количества данных (для хранилища данных). И я ожидаю всевозможные данные. Любые мысли по решению проблемы 2? – user6613676