Создать tex-файл, содержащий все имена файлов в каталоге

Используйте настройку, найденную здесь:

Самый простой способ отправить однострочное письмо -через командную строку с помощью gmail?

Выдержка:

root=rpi3abc@gmail
mailhub=smtp.gmail.com:465
FromLineOverride=YES
AuthUser=rpi3abc@gmail.com
AuthPass=testing123
UseTLS=YES

Это так просто.

0
11.11.2019, 17:13
4 ответа

В простом сценарии оболочки с использованием printfи простого расширения с подстановочными знаками:

#!/bin/sh

printf '%s\n' '\documentclass[10pt]{article}' \
              '\begin{document}'

printf '\input{%s}\n' *.tex

printf '%s\n' '\end{document}'

Вы должны вызвать этот скрипт и перенаправить вывод, например:

/path/to/script > /path/of/output.tex

В одной командной строке -вы можете сгруппировать отпечатки вместе для одного перенаправления:

{ printf '%s\n' '\documentclass[10pt]{article}' \
              '\begin{document}'
printf '\input{%s}\n' *.tex
printf '%s\n' '\end{document}'
} > /path/of/output.tex
4
28.01.2020, 02:29

В обычной Ubuntu по умолчанию установлен Perl, поэтому вы можете сделать это следующим образом:

ls *tex | perl -pne 's/(.*)/\\input{$1}/' > allfiles.tex

Возможно, он еще не установлен в Ubuntu для Windows, в этом случае apt-get install perl-baseпоможет.

РЕДАКТИРОВАТЬ:Если perl недоступен и вы не хотите его устанавливать, вы также можете использовать sed:

ls *tex | sed 's/\(.*tex\)/\\input{\1}/' > allfiles.tex

(Но я всегда рекомендую более мощный perl)

0
28.01.2020, 02:29

Вероятно, не самое лучшее, но вот решение, использующее sedдля редактирования файла all.tex:

sed -e 's/^/\\input\{/g' -e 's/$/\}/g' all.tex
0
28.01.2020, 02:29

Использование GNUawk:

awk '
    BEGIN     { print "\\documentclass[10pt]{article}"
                print "\\begin{document}" }
    BEGINFILE { printf("\\include{%s}\n", FILENAME); nextfile }
    END       { print "\\end{document}" }' *.tex

Это создаст список, подобный показанному вами, с файлами, перечисленными в том порядке, в котором оболочка расширяет шаблон подстановки имен файлов *.tex.

Для файлов с именами от file1.texдо file95.texэто будет , а не в порядке номеров. Для этого вы можете переключиться на оболочку zshи вместо этого использовать шаблон подстановки file<1-95>.texили более расслабленный шаблон *.tex(n).

0
12.04.2020, 11:20

Теги

Похожие вопросы