Проблема с горизонтальным слиянием csv-файлов под Cygwin

У меня два файла csv:

test1.csv 1 2 3 4 test2.csv 6 7 8 9 

Я хочу горизонтально объединить эти два файла. Для этого я использую paste -d , test1.csv test2.csv > paste.csv Если я открою этот файл в блокноте, он выглядит правильно, т.е.

 paste.csv 1,6 2,7 3,8 4,9 

Однако, если я загружу paste.csv в Excel, это выглядит

введите описание изображения здесь

Что мне не хватает? Заранее спасибо!

PS Это может быть неважно, но я нахожусь в окнах и использую Cygwin.

UPDATE: Когда я открыл файл paste.csv в блокноте, я заметил что-то странное. Кажется, что существует невидимый символ между числом и запятой. Например, если я поместил свой курсор между 1 и, и наоборот, ничего не произойдет. Когда я снова ударяю назад, 1 удаляется, как ожидалось. Если я удалю все эти невидимые символы, а затем загрузите paste.csv в excel, это правильно!

One Solution collect form web for “Проблема с горизонтальным слиянием csv-файлов под Cygwin”

Unix представляет символы новой строки с символом LF (строка feed = \n = ^J = 10 decimal = 012 октал = 0x0a шестнадцатеричная). Windows представляет новые строки с двухсимвольной последовательностью CR, LF (CR = возврат каретки = \r = ^M = 13 decimal = 015 восьмеричный = 0x0d шестнадцатеричный). Когда текстовый файл Windows обрабатывается утилитой Unix, каждая строка, таким образом, заканчивается ложным символом CR.

Утилиты Cygwin – это прямые порты инструментов Linux. Они не обрабатывают текстовые файлы Windows специально, поэтому символы CR заканчиваются как содержимое строки. В вашем вставленном файле перед каждой запятой есть CR.

Вы можете сначала конвертировать файлы в формат Unix:

 dos2unix *.csv paste -d , test1.csv test2.csv > paste.csv 

Или вы можете просто удалить символы CR. Здесь он работает, чтобы удалить их изнутри линии; некоторые другие манипуляции с текстом потребуют удаления их перед обработкой.

 paste -d , test1.csv test2.csv | tr -d '\r' > paste.csv 
  • Как скопировать текст виртуального терминала из графического режима?
  • Как объединить несколько файлов на основе метки времени
  • Мне нужно объединить несколько CSV-файлов вместе друг с другом с неравным количеством строк
  • Build table - добавить столбец в зависимости от имени файла
  • Объединение альтернативных строк из двух файлов
  • Заменить данные в определенных положениях в txt-файле, используя данные из другого файла
  • Вставка с vim сжимает содержимое между предыдущим контентом и маржей
  • Проблема с пастой и стандартным выходом в linux
  • Форматировать образцы sar в реальном времени с помощью пасты и awk
  • Почему вывод этой команды вставки разделяется на отдельные строки с помощью отступов?
  • Как добавить текст из одной строки в конец другого?
  • Linux и Unix - лучшая ОС в мире.