Присоединение файлов на диске

Скажем, у меня есть несколько файлов со следующими именами:

000001 000002 000003 ... 

Каждый из этих файлов представляет собой файл csv (может содержать escape-символы). В общей сложности папка имеет ~20GB данных. Как я могу сшить эти файлы вместе в один окончательный файл?

В случае, если это имеет значение, я обычно использую Zsh .

3 Solutions collect form web for “Присоединение файлов на диске”

 cat <->.csv > all.csv 

Где <-> соответствует любому положительному целочисленному десятичному числу, объединяет все те (в лексическом порядке, которые для 0 заполненных чисел совпадают с численным порядком) в all.csv .

Тем не менее, это удвоит пространство на диске. Если вы не собираетесь хранить исходные файлы, вы можете:

 for i in <->.csv; do cat $i && rm -f $i || break done > all.csv 

Если вы используете перенаправление, это будет либо добавлять, либо перезаписывать содержимое в один файл. Если вы хотите добавить к одному файлу, используйте:

cat file.csv file2.csv file3.csv >> all.csv

Эта следующая команда перезапишет all.csv:

cat file.csv file2.csv file3.csv > all.csv

Но скажите, что вы хотите переместить все CSV-файлы в один csv в определенном каталоге (для добавления):

cat *.csv >> all.csv

Почему вы хотите объединить все эти файлы в один файл?

  1. Если вы хотите отправить их программе, которая хочет stdin, вы можете сделать это:

     cat *.csv | prog 

    или любой из других методов комбинации, упомянутых ранее.

  2. Если программа ожидает ввода имени файла, выполните следующие действия:

     mkfifo p cat *.csv > p & prog p 
  3. Если вам нужен один файл, потому что один файл проще сделать резервную копию, то сбор всех вместе может быть полезным. Если вы хотите прочитать файлы без их разворачивания, вы можете превратить tar-файл в fs-fuse.

  • Портативный способ получить абсолютный путь скрипта?
  • Что это за команда HOME?
  • Zsh очистить командную строку от вызова zsh / sched
  • Как извлечь только «базовое имя» родительского каталога в оболочке?
  • Что означает% F и как я могу остановить его, это значит?
  • Можно ли включить файл в конфигурационный файл zsh? Как?
  • Shell, что вкладка-завершает префикс?
  • Измените zsh-завершение, чтобы выполнить доработки над подсказкой
  • ZSH: Рекурсивное подталкивание с помощью .directories
  • Отключить Oh-My-ZSH Завершение начала имени файла
  • zsh добавляет символ табуляции при автозаполнении
  • Linux и Unix - лучшая ОС в мире.