В локали POSIX символы могут принять значения от 0 до 127.
tr -dc 'A-Za-z0-9'
Взял бы дополнение тех, которые в значениях от 0 до 255. В то время как
tr -dC 'A-Za-z0-9'
Взял бы дополнение тех, которые в наборе допустимых символов (так оценивает от 0 до 128).
Таким образом, первый был бы похож:
tr -d '\0-\57\72-\100\133-\140\173-\377'
В то время как второе было бы похоже:
tr -d '\0-\57\72-\100\133-\140\173-\177'
Да, это задание для тройника:
rpm -qa | tee file | wc -l
В этой конструкции a | b
stdout a переходит на stdin b. В случае a> файл | b
весь вывод из a идет в файл, а в b stdin ничего не идет. Команда tee
делает копию всего, что получает на стандартный ввод, как в файл, так и на стандартный вывод.
Да, это работа для tee
:
rpm -qa | tee file | wc -l
Перенаправление оболочки (>
) - это всего лишь перенаправление, и вы можете одновременно направлять выходной поток только в одно место. На этом этапе |
нечего видеть. tee
создан именно для этой цели, когда вы хотите разделить поток на две части, одна идет в файл, а другая все еще находится в стандартном выводе. Приведенная выше команда делает именно то, что вы пытались сделать.
xargs
здесь не поможет.
Прямой рендеринг: Да
не требуется, это означает, что поддержка OpenGL требуется паровой. Это означает только то, что текущий драйвер glx может напрямую взаимодействовать с аппаратным обеспечением. В другом случае все запросы помещаются в очередь и выполняются из этой очереди. Более того, OpenGL может работать по сети. В таких случаях визуализация будет косвенной, но все же ускоренной. Для видеокарты может быть два или 3 драйвера, все с различными возможностями. Вы можете определить, какой из них вы используете Vendor последовательности
, часть сервера. В случае Radeon не должно быть MESA
. видео
для выполнения любого фактического GL. apt-get install mesa-utils: i386
. После проверки можно установить 64 версию. Для этого можно использовать sed
прямо:
sed -e 's/<@\([^|>]*\)|\([^|>]*\)|\([^>|]*\)>/\\autocite[\2][\3]{\1}/g' \
-e 's/<@\([^|>]*\)|\([^|>]*\)>/\\autocite[\2]{\1}/g' \
-e 's/<@\([^|>]*\)>/\\autocite{\1}/g'
Это просто заменяет каждую возможную формулировку отдельно: первый обрабатывает трехпараметрические ссылки, затем два, затем один. Каждый необязательный блок сопоставляется с \( [^ | >] *\)
и подставляется в выходной файл на \1... 3
.
rpm -qa > file ; wc -l file
должны делать, что хотите.
В любой оболочке, совместимой с Борном или POSIX, перенаправления обрабатываются слева направо, и труба идет первой. Таким образом, ваша команда выполняется таким образом (я опускаю то, что происходит в подпроцессе 2):
. rpm -qa
. Если вы хотите, чтобы выход подпроцесса 1 был скопирован на два канала (файл и канал), то кто-то должен сделать две копии данных. Именно для этого и предназначена tee
.
rpm -qa | tee file | wc -l
Zsh имеет встроенную функцию для репликации выходных данных, называемую multios. В zsh (и только в zsh с опцией multios
, не в POSIX-совместимых оболочках, ни в пред-POSIX Bourne оболочках, ни в (t)csh, если на то пошло), команда, подобная той, которую вы написали, делает репликацию данных на двух выходных перенаправлениях.
# in zsh
rpm -qa >file | wc -l