У меня есть текстовый файл, который looks like this. Я пытаюсь преобразовать его в стандартный формат с ,
для разделителя столбцов (который уже присутствует и \r\n
для терминатора строк.Удаление пустых строк из огромного файла и создание файла с разделителем с помощью sed
Проблема заключается в том, что текущий файл похож на фиксированную ширину + запятую. имеют 167 столбцов, разделенных запятыми. Строки в текущем файле образуют несколько строк с терминатором строк в каждой строке. Этот формат не поддерживается большинством инструментов загрузки/внешней таблицы. удалить
Я попытался СЕПГ до сих пор. -
zcat myfile.txt.gz | sed 's/^\ *$/%%%/g' | xargs | sed -e 's/%%%/\n/g' -e 's/\ //g' > myfile.txt
Вышеприведенное преобразовывало файл, и все казалось прекрасным. Но я заметил, что некоторые строки не были правильно преобразованы. Например, на некоторых строках у меня всего 117 столбцов.
Что мне недостает в sed? Есть ли лучшие/более быстрые способы сделать это? Обратите внимание, что файлы, с которыми я имею дело, составляют около 25 ГБ каждый без сжатия, и у меня их более сотни.
Desired Output (первые две строки ввода пробы)
Что ваш ожидаемый результат из этого файла? – Inian
Пожалуйста, добавьте образец ввода и ваш желаемый результат для ввода этого образца ** на ваш вопрос **. – Cyrus
Я обновил вопрос с примера ввода и желаемого вывода. –