Один из способов сделать это:
find . -type l -name 'Math*' -print0 | \
xargs -0 sh -c \
'find -L "$@" -type f -name "*.tex" -exec fgrep word /dev/null {} +' sh
sh -c '... 'sh
мерзость необходима, чтобы иметь дело со случаем, когда Math *
может иметь пробелы. В противном случае, когда Math *
не расширяется до имен файлов с пробелами , будет работать что-то вроде этого:
find -L $(find . -type l -name 'Math*') -name '*.tex' \
-exec fgrep word /dev/null {} +
/ dev / null
гарантирует, что fgrep
печатает имя файла, даже если для поиска требуется только один файл.
Если вы настаиваете на разрешении ссылок перед поиском с помощью grep, это тоже можно сделать за счет предположений, что (1) ваши имена файлов не содержат символов новой строки и (2) вы используете xargs
из GNU findutils
(BSD xargs
не принимает -d
):
find . -type l -name 'Math*' -exec readlink -f {} + | \
xargs -d '\n' sh -c \
'find "$@" -type f -name "*.tex" -exec fgrep word /dev/null {} +' sh
Репозиторий, который вы используете, зависит от версии Debian, которую вы используете; посмотрите на https://riot.im/packages/debian/dists/, чтобы узнать, что доступно. Запись, которую вы имеете, верна для Stretch. (Вы хотите подобрать набор или кодовое имя в файле Release
, testing
или stretch
здесь, а затем компоненты из перечисленных в том же файле, main
здесь.)
Чтобы добавить ключ, скачайте его и используйте
apt-key add repo-key.asc
для установки.
Чтобы добавить запуск ключа:
wget https://riot.im/packages/debian/repo-key.asc
sudo apt-key add repo-key.asc
Стороннее репо корректно и совместимо с общим форматом, опубликованным на debian wiki :
записи в этом файле обычно имеют следующий формат:
deb http://site.example.com/debian distribution component1 component2 component3