Пока Вы не возражаете против этого, промежуточное устройство хранения данных не будет применимо как таковой:
split -b 1024m /dev/dvd iso-pieces.
# Pop out original, pop in blank
cat iso-pieces.* | growisofs -Z /dev/dvd=/dev/stdin
Вот сценарий, который разделяет ЛАТЕКСНЫЕ команды в исходном файле. Это разделяет начало комментариев %
. Это производит все команды с продвижением \
, и вся среда называет также.
sed -e 's/^\(\(\)*\)%.*/\1/' \
-e 's/\([^\\]\(\\\\\)*\)%.*/\1/' \
-e 's/\\./\n&/g' |
sed -n -e 's/^\\begin *{\([^{}]*\)}.*/\1/p' \
-e 's/^\\end *{.*//' \
-e 's/^\(\\[@A-Za-z][@A-Za-z]*\).*/\1/p' \
-e 's/^\(\\[^@A-Za-z]\)/\1/p' |
Объяснения:
sed
передача добавляет новую строку перед каждой обратной косой чертой. Первые два выражения снимают изоляцию с комментариев, заботясь для сохранения \%
но все еще комментарии полосы, которыми предшествуют \\
.sed
передача, первое выражение печатает имена среды от \begin
команды и второе выражение игнорируют \end
команды. Третье выражение печатает команды, имена которых являются буквами и четвертыми командами печати выражения, имя которых является символом.Этот сценарий не обрабатывает дословные среды.
Это походит на вариацию на этот вопрос.
Таким образом, я буду работать над тем ответом:
for w in `cat test.tex`; do echo $w; done|sort|egrep '\\[a-z]*{'|uniq -c
1 A}&\multicolumn{2}{c|}{Cavity
1 \begin{figure}[H]
1 \begin{minipage}[b]{.46\textwidth}
1 \begin{tabular}{|c|cS|cS|}
1 \begin{tikzpicture}[remember
Регулярному выражению, возможно, понадобится некоторая работа, но это должно запустить Вас.
\multicolumn
не отделен. globbing оболочки собирается разжечь (попробуйте файлом, содержащим $a * b$
), необходимо работать set -f
сначала.
– Gilles 'SO- stop being evil'
21.05.2012, 10:45