Если у меня большой файл и мне нужно разбить его на 100 мегабайт, я сделаю
split -b 100m myImage.iso
Это обычно дает мне что-то вроде
xaa
xab
xac
xad
И чтобы вернуть их вместе, я использовал
cat x* > myImage.iso
Похоже, должен быть более эффективный способ, чем чтение каждой строки кода в группе файлов cat
и перенаправление вывода в новый файл. Как способ просто открыть два файла, удалить EOF
маркер из первого и соединить их - без необходимости просматривать все содержимое.
Windows / DOS имеет команду копирования для двоичных файлов. В справке упоминается, что эта команда была разработана для возможности объединения нескольких файлов. Он работает с этим синтаксисом: ( /b
для двоичного режима)
copy /b file1 + file2 + file3 outputfile
Есть ли что-то похожее или лучший способ объединения больших файлов в Linux, чем cat?
Обновить
Кажется, что cat
это действительно правильный и лучший способ объединения файлов. Рад, что я все время использовал правильную команду :) Спасибо всем за ваши отзывы.
cat x*
вы можете рассмотреть расширение оболочки скобки, cat xa{a..g}
которое расширяет указанную последовательность до cat
xaa xab xac xad xae xaf xag
cat x*
? Будет ли новая установка локали также не влияет , split
так что если split
и cat x*
были использованы в той же системе , что они всегда будут работать?
split.c
в GNU Coreutils, суффиксы построены из фиксированного массива символов: static char const *suffix_alphabet = "abcdefghijklmnopqrstuvwxyz";
. Суффикс не будет зависеть от локали. (Но я не думаю, что какой-либо здравомыслящий язык переставил бы строчные буквы; даже EBCDIC поддерживает их стандартный порядок.)
cat x*
, потому что порядок файлов зависит от настроек вашего языка. Лучше начать печататьcat x
, чем нажать Esc, а затем*
- вы увидите расширенный порядок файлов и сможете изменить порядок.