С помощью GNU split
вы можете сохранить заголовок в переменной, а затем разделить
, начиная со 2-й строки, используя параметр - filter
, чтобы сначала записать заголовок, а затем 99 строк для каждой части, а также указать выходной каталог (например, путь к / output dir /
):
header=$(head -n 1 infile.txt)
export header
tail -n +2 infile.txt | split -l 99 -d --additional-suffix=.txt \
--filter='{ printf %s\\n "$header"; cat; } >path\ to/output\ dir/$FILE' - file_
this создаст фрагменты из 100 строк как
path to/output dir/file_01.txt
path to/output dir/file_02.txt
path to/output dir/file_03.txt
..............................
Файл .bashrc
анализируется один раз при каждом запуске нового сеанса терминала.
Во время синтаксического анализа функция prompt_command
добавляется к переменной среды, но нет ни шага компиляции, ни «объекта», созданного, поскольку Bash является языком интерпретатора с одним -проходом .
Когда в моем терминале вводится новая строка, выполняется PROMPT_COMMAND
, что эффективно извлекает prompt_command
из переменных окружения (так же, как я мог бы набрать prompt_command
в своей оболочке )и выполнить это построчно. Следовательно, поведение аналогично прямому назначению команды на PROMPT_COMMAND
. Прямое присваивание должно быть даже (незаметно )быстрее, поскольку оно позволяет избежать необходимости извлечения переменной окружения.