- Как разрезать и соединять файлы в командной строке Linux
- Разрезание файлов в командной строке
- Объединение файлов в командной строке
- Заключение
- Как объединить все (текстовые) файлы в каталоге в один?
- Как разделить и объединить файлы в Linux
- Что раскол?
- Что такое кошка?
- Как разделить и объединить файлы в Linux с помощью split и cat
- Wpilot
- суббота, 11 мая 2019 г.
- Объединить текстовые файлы с помощью команды cat в Linux
- Запись в файлы с помощью команды cat в Linux
- Основы команд cat
- Синтаксис
- Отображение содержимого файла на стандартном выводе
- Запись текста в файл с помощью cat
- Объединение файлов с помощью cat
- Стандартный ввод между файлами
- Добавление файлов с помощью cat
- Объединение содержимого всего каталога файлов с помощью cat
- Перечисление номеров строк
- Напишите $ в конце каждой строки
- Сортировка строк составных файлов по конвейеру
- Вывод
Как разрезать и соединять файлы в командной строке Linux
Оригинал: How To Split And Combine Files From Command Line In Linux
Автор: SK
Дата публикации: 2 мая 2017 года
Перевод: А. Кривошей
Дата перевода: сентябрь 2017 г.
На моем ноутбуке хранится множество обучающих видео по Linux. Я хотел бы загрузить их все на Google Drive, чтобы иметь резервные копии. Проблема в том, что эти видеоролики размером более 1 гигабайта, что плохо подходит для загрузки на диск Google. Несмотря на то, что Google Drive поддерживает загрузку файлов размером до 5 Тб, на практике для загрузки больших файлов требуется слишком много времени. Рассматривая эту проблему, я понял, что было бы намного лучше, если бы я мог разделить эти файлы на меньший размер и загружать их по одному. Затем я могу загрузить все части файла и объединить их все, когда захочу. Есть простая утилита командной строки, называемая «split», которая используется для разделения больших файлов на несколько файлов меньшего размера, и вы можете позже соединить все эти части в один файл.
В этом кратком руководстве я покажу вам, как разрезать и соединять файлы в командной строке Unix-подобных операционных систем.
Разрезание файлов в командной строке
Давайте посмотрим на размер этого видеоролика.
Как вы можете видеть, размер видео 1,1 Гб, что очень много для загрузки на мой диск google. С моей скоростью интернет-соединения это займет более 30 минут. Я не хочу ждать так долго. Поэтому я хочу разделить файл на несколько частей, например по 100 Мб, чтобы потом быстро загрузить их одну за одной.
Для этого используем команду:
Команда создаст файлы ls.aa, ls.ab, ls.ac.. и так далее, размером по 100 Мб.
Посмотрим, что теперь у нас в директории:
Файл Linux Security.mp4 разрезан на части с именами ls.aa, ls.ab …. ls.ak, каждая по 100 Мб.
Теперь намного проще отправить их в качестве вложения в электронное письмо.
Объединение файлов в командной строке
Перейдем в директорию, где лежат все части нашего файла и объединим их в один файл.
Здесь Linux_security.mp4 — имя собираемого файла. Два знака вопроса (??) означают искать в имени файла любое расширение из двух символов. Для упрощения часть имени ls. соответствует всем названиям файлов ls.aa, ls.ab . которые объединяются в один файл.
Не забудьте указать правильное расширение при объединении частей. В случае, если вы хотите отправить все файлы по почте своему другу, сообщите ему правильное расширение файлов, которые вы отправили. Он должен использовать одно и то же расширение файла в выходном файле при их объединении.
Если вы не укажете в команде split никаких аргументов, файл будет разбит на несколько частей с именами вида x **. По умолчанию каждый файл будет содержать 1000 строк. Здесь ** — это двухсимвольный суффикс, который по умолчанию добавляется к каждому имени файла.
Разделим тот же файл с помощью команды split без указания каких-либо аргументов, как показано ниже.
Эта команда разрежет файл Linux Security.mp4 на множество файлов с именами вида x**.
Каждый файл содержит 1000 строк. Вы можете убедиться в этом с помощью команды wc (word count):
Объединить все эти части в один файл можно с помощью команды:
Приведенная выше команда объединит все файлы в один с именем ls.mp4.
Заключение
Конечно, имеется множество утилит, как консольных, так и графических, которые позволяют разрезать и объединять файлы в Linux. Однако «split» — это встроенная команда, которая входит в состав ядра Linux. Поэтому вам не понадобится устаналивать никаких дополнительных программ. К тому же эта команда работает очень быстро.
Немного подробнее о команде split вы можете узнать из следующей статьи: «Изучаем команды linux: split»
Источник
Как объединить все (текстовые) файлы в каталоге в один?
У меня есть 14 файлов, которые являются частью одного текста. Я хотел бы объединить их в один. Как это сделать?
Технически это то, что cat («сцепление») должно делать, хотя большинство людей просто используют его для вывода файлов на стандартный вывод. Если вы дадите ему несколько имен файлов, он выведет их все последовательно, а затем вы сможете перенаправить их в новый файл; в случае всех файлов просто используйте * (или /path/to/directory/* если вы уже не в каталоге), и ваша оболочка расширит его до всех имен файлов
Если ваши файлы не находятся в одном каталоге, вы можете использовать команду find до объединения:
Очень полезно, когда ваши файлы уже упорядочены, и вы хотите объединить их, чтобы проанализировать их.
Это может или не может сохранить порядок файлов.
фактически имеет нежелательный побочный эффект включения ‘объединенного-файла’ в конкатенацию, создавая файл-разборщик. Чтобы обойти это, либо напишите объединенный файл в другой каталог;
или используйте сопоставление с образцом, которое будет игнорировать объединенный файл;
Как и другие здесь говорят . Вы можете использовать cat
Допустим, у вас есть:
И вы только хотите , file01 чтобы file03 и fileA к fileC :
Или, используя расширение скобки:
Или, используя причудливое расширение фигурных скобок:
Или вы можете использовать for цикл:
Вы можете указать pattern файл, а затем объединить их все следующим образом:
Другой вариант — это sed:
Или без перенаправления .
Обратите внимание, что в последней строке также пишется merge.txt (не wmerge.txt!). Вы можете использовать w «merge.txt», чтобы избежать путаницы с именем файла, и -n для вывода без вывода сообщений.
Конечно, вы также можете сократить список файлов с подстановочными знаками. Например, в случае нумерованных файлов, как в приведенных выше примерах, вы можете указать диапазон в фигурных скобках следующим образом:
Источник
Как разделить и объединить файлы в Linux
Разделение и объединение файлов в Linux — довольно простая задача, которая позволит нам фрагментировать файл на несколько файлов меньшего размера, что во многих случаях помогает нам фрагментировать файлы, которые занимают много места в памяти, либо для переноса их на внешние устройства хранения, либо для политик безопасности, таких как поддержание фрагментированных и распределенных копий наших данных. Для этого простого процесса мы будем использовать две важные команды split и cat.
Что раскол?
Это команда для систем Юникс который позволяет нам разделить файл на несколько меньших, он создает серию файлов с расширением и коррелятом исходного имени файла, имея возможность параметризовать размер результирующих файлов.
Чтобы углубиться в объем и характеристики этой команды, мы можем выполнить man split, где мы можем увидеть ее подробную документацию.
Что такое кошка?
В свою очередь, команда linux cat позволяет объединять и отображать файлы легко и эффективно, то есть с помощью этой команды мы можем просматривать различные текстовые файлы, а также можем объединять разделенные файлы.
Так же, как и в случае с split, мы можем просмотреть подробную документацию cat с помощью команды man cat.
Как разделить и объединить файлы в Linux с помощью split и cat
Как только вы освоите основы команд split и cat, разделить и объединить файлы в Linux будет довольно просто. Для общего примера, когда мы хотим разделить файл с именем test.7z, который весит 500 МБ, на несколько файлов по 100 МБ, нам просто нужно выполнить следующую команду:
$ split -b 100m tes.7z dividido
Эта команда вернет 5 файлов по 100 МБ, полученных из исходного файла, который будет иметь имена splitaa, splitab и так далее. Стоит отметить, что если мы добавим параметр -d в предыдущей инструкции имя результирующих файлов было бы числовым, то есть разделенное01, разделенное02 .
$ split -b -d 100m tes.7z dividido
Теперь, чтобы воссоединить файлы, которые мы разделили, нам просто нужно выполнить следующую команду из каталога, в котором хранятся файлы:
$ cat dividido* > testUnido.7z
С помощью этих небольших, но простых шагов мы можем легко и просто разделять и объединять файлы в Linux, я надеюсь, вам это понравится и до встречи в следующей статье.
Содержание статьи соответствует нашим принципам редакционная этика. Чтобы сообщить об ошибке, нажмите здесь.
Полный путь к статье: Из Linux » GNU / Linux » Как разделить и объединить файлы в Linux
Источник
Wpilot
суббота, 11 мая 2019 г.
Объединить текстовые файлы с помощью команды cat в Linux
Команда cat очень полезна в Linux. Она имеет три основные функции связанные с манипулированием текстовыми файлами: создание, отображение и объединение.
Давайте предположим что у вас есть три текстовых файла: file1.txt, file2.txt и file3.txt. Вы хотите объединить их в один текстовый файл содержащий информацию о всех трех в указанном порядке. Вы можете сделать это с помощью команды cat.
Просто откройте терминал и введите следующую команду:
cat file1.txt file2.txt file3.txt
Замените имена файлов в приведенном выше примере своими именами.
Объединенное содержимое трех текстовых файлов появится в вашем терминале.
Вероятно вы захотите объединить эти текстовые файлы в другой текстовый файл а не просто распечатать результаты на экране терминала. Это очень просто. Все что вам нужно сделать это добавить символ > после списка объединяемых файлов а затем указать имя окончательного текстового файла.
cat file1.txt file2.txt file3.txt> file4.txt
Теперь если вы откроете файл file4.txt с помощью команды cat или с помощью выбранного вами текстового редактора вы обнаружите что он содержит текст первых трех текстовых файлов.
Если вы объединяете списки элементов из нескольких файлов и хотите чтобы они были в алфавитном порядке в объединенном файле вы можете отсортировать объединенные элементы в конечном файле. Для этого используйте команду sort. Все строки текста в файле в результате будут отсортированы в алфавитном порядке.
cat file1.txt file2.txt file3.txt | sort > file4.txt
Существует также способ добавления файлов в конец существующего файла. Введите команду cat а затем файл которые вы хотите добавить в конец существующего файла. Затем введите два символа >> и имя конечного файла в который хотите добавить текст.
cat file5.txt >> file4.txt
Если вы хотите добавить немного нового текста в существующий текстовый файл используйте команду cat чтобы сделать это непосредственно из терминала. Введите команду cat за которой следует двойной символ >> и имя файла в который вы хотите добавить текст.
На следующей строке появится курсор. Начните вводить текст который хотите добавить в файл. Когда закончите нажмите Enter после последней строки а затем нажмите Ctrl + D чтобы скопировать этот текст в конец файла и выйти из cat.
Источник
Запись в файлы с помощью команды cat в Linux
Команда cat представляет собой инструмент Unix, используемый для управления и отображения содержимого файлов. Команда получила свое название от слова «concatenate», потому что, помимо прочего, она может объединять файлы.
В этой статье мы рассмотрим несколько простых способов использования этой команды для записи текста в файл с примерами. Использование cat очень простое, поэтому для продолжения работы не требуется никакого предварительного программирования или опыта работы с Unix.
Основы команд cat
Начнем с того, что мы просто опишем основы команды cat , чтобы помочь вам, если вы никогда не использовали ее раньше или вам нужен краткий обзор.
Синтаксис
Синтаксис выглядит так:
Чтобы быстро найти синтаксис или параметры команды, запустите cat с параметром справки:
Или, вы можете использовать:
Эти команды должны отображать следующий список параметров:
Отображение содержимого файла на стандартном выводе
Чтобы вывести содержимое файла на стандартный вывод, просто назовите файл, который хотите отобразить:
Если файл находится в другом каталоге, вам нужно указать его:
Мы ожидаем увидеть содержимое этого файла, распечатанное на стандартный вывод, в данном случае — терминал:
Это наиболее распространенное использование команды cat, поскольку она позволяет легко просматривать содержимое файла, не открывая текстовый редактор.
Запись текста в файл с помощью cat
Чтобы перенаправить вывод команды cat из стандартного вывода в файл, мы можем использовать оператор перенаправления вывода > :
Это приведет к замене содержимого filename2 на содержимое filename1 , поэтому убедитесь, что он не содержит ничего, что вы бы не хотели потерять. Теперь filename2 содержит:
Оператор перенаправления вывода перенаправит вывод любой вызываемой нами команды. Например, давайте попробуем это с помощью команды pwd , которая печатает имя текущего рабочего каталога:
Если мы посмотрим сейчас на testfile :
Он содержит путь к текущему рабочему каталогу:
Если файл, на который вы перенаправляете, не существует, будет создан файл с таким именем:
Объединение файлов с помощью cat
Объединить несколько файлов с помощью cat очень просто — просто перечислите файлы в желаемом порядке:
Этот код берет файлы filename1 и filename2 , сцепляет их и выводит на новый outputfile :
Стандартный ввод между файлами
Когда имя входного файла отсутствует в списке, cat начинает чтение со стандартного ввода до тех пор, пока не достигнет EOF (конца файла). Сигнал о конце файла отправляется ctrl+d в командной строке:
Мы даже можем добавить текст из стандартного ввода между файлами, которые мы хотим объединить, используя — , чтобы указать, где мы ожидаем стандартный ввод. Если у нас есть такие файлы, как filename1 , filename2 и filename3 , и нам нужен текст из стандартного ввода между filename1 и filename2 , мы должны написать:
Проверив output , мы увидим что-то вроде:
Добавление файлов с помощью cat
В предыдущих примерах использование оператора перенаправления отбрасывало предыдущее содержимое файла output . Что, если мы хотим добавить новый контент к старому? Для добавления файлов мы используем оператор >> :
И это должно привести к:
Объединение содержимого всего каталога файлов с помощью cat
Чтобы объединить все содержимое всех файлов в каталоге, мы используем подстановочный знак * :
Чтобы объединить все содержимое всех файлов в текущем рабочем каталоге, мы будем использовать:
* также можно использовать для объединения всех файлов с одинаковым расширением:
Перечисление номеров строк
Перечисление всех строк вывода осуществляется с помощью опции -n :
Что бы написать что-то вроде:
Напишите $ в конце каждой строки
В опции -E знаменует конец каждой строки в файле с $ :
Сортировка строк составных файлов по конвейеру
Это немного обман. Команда cat не может сортировать, но для этого мы можем использовать конвейер. Команда канала ( | ) используется для превращения вывода одной команды во ввод другой. Чтобы отсортировать строки файла, мы будем использовать обе cat и еще одну команду sort :
Вывод
Cat — это простой, но мощный инструмент Unix, который предустановлен в большинстве систем. Его можно использовать отдельно или в сочетании с другими командами с помощью каналов. Первоначально созданный Кеном Томпсоном и Деннисом Ритчи в 1971 году, cat простой в использовании и интуитивно понятный функционал выдерживает испытание временем.
В этой статье мы изучили некоторые возможности использования команды cat для записи текста в файлы, проверки содержимого, объединения и добавления файлов, а также для перечисления строк и их сортировки.
Источник