Команда Linux csplit
Команда Linux csplit используется для разделения файлов.
После разделения файла в соответствии с указанным шаблоном он сохраняется в файлы с именами xx00, xx01, xx02... соответственно. Если заданное имя файла — "-", команда csplit будет читать данные из стандартного ввода.
Синтаксис
csplit [-kqsz][-b<输出格式>][-f<输出字首字符串>] [-n<输出文件名位数>][--help][--version][文件][范本样式...]
Parameters:
- -b<формат вывода> или --suffix-format=<формат вывода> По умолчанию формат вывода задаёт такие имена файлов, как xx00, xx01..., вы можете изменить имя выходного файла, изменив <формат вывода>.
- -f<строка префикса вывода> или --prefix=<строка префикса вывода> По умолчанию строка префикса вывода создаёт такие имена файлов, как xx00, xx01..., если вы укажете строку префикса вывода как "hello", имена выходных файлов станут hello00, hello01... и т. д.
- -k или --keep-files Сохранять файлы; даже если произойдёт ошибка или выполнение будет прервано, уже выведенные и сохранённые файлы не могут быть удалены.
- -n<количество цифр в имени выходного файла> или --digits=<количество цифр в имени выходного файла> По умолчанию количество цифр в имени выходного файла даёт такие имена файлов, как xx00, xx01..., если вы укажете количество цифр в имени выходного файла как "3", имена выходных файлов станут xx000, xx001... и т. д.
- -q или -s или --quiet или --silent Не отображать процесс выполнения команды.
- -z или --elide-empty-files Удалять файлы длиной 0 байт.
- --help Онлайн-справка.
- --version Показать информацию о версии.
Примеры
Чтобы разделить текстовый файл testfile на две части по границе строки 2, используйте следующую команду:
csplit testfile 2
Содержимое файла testfile следующее:
$ cat testfile #查看testfile 文件内容 hello Linux! Linux is a free Unix-type operating system. This is a Linux testfile! Linux
При использовании команды csplit результат вывода следующий:
$ csplit testfile 2 13 #xx00文件字符个数 76 #xx01文件字符个数
Первая строка — это количество символов в первом файле xx00, и аналогично вторая строка — количество символов во втором файле xx01. При этом в том же каталоге, что и testfile, будут созданы два файла с именами xx00 и xx01 соответственно. Содержимое xx00:
$ cat xx00 #查看分割后的xx00文件内容 hello Linux! #testfile文件第1行的内容
Содержимое xx01:
$ cat xx01 #查看分割后的xx01文件内容 Linux is a free Unix-type operating system. #testfile文件第2行以后的内容 This is a Linux testfile! LinuxДругие расширения
Энциклопедия команд Linux