Ваши желания, похоже, противоречат тому, что в настоящее время возможно.
Если вы хотите напечатать D из обоих файлов, используйте следующее: cat file1 file2 | grep -E '^D.+'
Проблема в том, что если вы делаете кошку, вы больше не будете знать имена файлов один раз трубопровод, поэтому вам нужно будет сделать что-то вроде: grep -El '^D.+' *
Если вы добавите символические ссылки, вам не нужно будет создавать сценарий. Вы можете сделать это двумя способами:
Использование GUI:
sudo env PATH="$PATH" tlmgr --gui. Нажмите «Действия -> Обрабатывать символические ссылки в системных каталогах». Нажмите «Обновить символические ссылки».Используя командную строку (untested, так как я использовал GUI):
sudo env PATH="$PATH" tlmgr --gui.Что сработало для меня: я начал tlmgr в режиме gui с
sudo env PATH="$PATH" tlmgr --gui
, а затем в третьем меню выбрал последний элемент, но один (в моем немецком меню, это меню «Aktionen» «(действия?) и пункт« Verwaltung der symbolischen Links »(администрирование символических ссылок?). В следующем диалоговом окне я нажал кнопку« Symbolische Links erneuern »(обновить символические ссылки?). Теперь
sudo tlmgr --OPTIONS
работает без проблем. Я уверен, что есть также способ командной строки:)
Чтобы передать $PATH в sudo пользователя, я изменил файл /etc/sudoers с помощью команды visudo и добавил следующую строку:
Defaults exempt_group=<group that I belong to>
Теперь я могу выполнить (например) [ ! d1]
sudo tlmgr update all
или
sudo texhash
, и все работает идеально.
Я был бы очень признателен за любые комментарии к этому подходу.
Вам действительно не нужно добавлять каталог tlmgr в путь. Простое быстрое решение использует which, например:
sudo $(which tlmgr) update --list