Ага. Думайте как HTML... но до -HTML. В основном куча наборных макросов для groff
...
.
Во-первых, есть некоторые общепринятые разделы -, конечно, вы можете добавить больше...
NAME
SYNOPSIS
DESCRIPTION
OPTIONS
BUGS
AUTHOR
SEE ALSO
И для каждого (и везде еще )вы используете синтаксис макроса набора groff
.
Например, TITLE HEADER
можно сделать так-
.TH [name of program] [section number] [center footer] [left footer] [center header]
ИлиSECTION HEADER
-
.SH [section name]
И, конечно же, вы можете выделить жирным шрифтом, курсивом, подчеркиванием и т. д.-
.B = bold
.BI = bold alternating italic
.BR = bold alternating Roman
.I = italic
.IB = italic alternating bold
.IR = italic alternating Roman
.RB = Roman alternating bold
.RI = Roman alternating italic
И вы даже можете делать комментарии в своем текстовом файле-
." This is a comment
А затем такие вещи, как разбиение на абзацы (, такие как html-тег, установленный )с
.PP
Не забудьте правильно назвать файл, а затем gzip
его, когда закончите.
Эта информация (и многое другое )взято изhttp://www.linuxhowtos.org/System/creatingman.htm
тл;др:
find. -name "*.txt" | perl -nle 's/\.txt$/.foo/; print unless -e' | cat -v
Вот пример использования Perl
Обратите внимание, что у нас отсутствует c.foo
$ ls
a.foo a.txt b.foo b.txt c.txt
Мы можем найти это так
$ ls *.txt | perl -nle 's/\.txt$/.foo/; print unless -e '
c.foo
c.foo отсутствует
Обновление :, касающееся имен файлов, содержащих метасимволы и т. д.
Рассмотрим этот набор имен файлов, который содержит пробелы, новые строки и символы вертикальной черты
$ ls *txt
a.txt b.txt c.txt 'd d.txt' 'e'$'\r''e.txt' 'f'$'\n''f.txt' 'g|g.txt' taskmaster.txt
На практике у Perl не возникает проблем с разбором вывода ls:
$ ls *txt | perl -nle 's/\.txt$/.foo/; print unless -e'
c.foo
d d.foo
e.foo
f
f.foo
g|g.foo
taskmaster.foo
Очевидно, что если ваши имена файлов содержат управляющие символы, вам может потребоваться сделать их более заметными
$ ls *txt | perl -nle 's/\.txt$/.foo/; print unless -e' | cat -v
c.foo
d d.foo
e^Me.foo
f
f.foo
g|g.foo
taskmaster.foo
Если вы хотите, чтобы это работало рекурсивно
$ find. -name "*.txt" | perl -nle 's/\.txt$/.foo/; print unless -e' | cat -v
./c.foo
./d d.foo
./e^Me.foo
./f
f.foo
./g|g.foo
./h*h.foo
./temp/j.foo
Вы можете попробовать это:
shopt -s globstar
for f in **/*.lri; do
[[ ! $(find. -name "$(basename "${f%%.lri}").dng") ]] && realpath "$f"
done