Intereting Posts
Удаление неправильной записи WINS Автоматическое добавление косой черты при навигации по символической ссылке Adobe Reader необходимо восстановить или удалить (элементарная ОС) Как я могу запретить моей точке доступа hostapd делать заявку на маршрутизацию в Интернет? Как / dev / null фоновые процессы «информационный» вывод? Как мне получить доступ к «ветке» rw (как в ветке aufs) оверлейного монтирования? Может ли меньше использовать vim вместо vi по умолчанию, когда я нажимаю клавишу «v»? Как удалить том bcache0? Чтение вывода в `screen` извне Странность с символами и относительными путями Доступна новая версия файла конфигурации / etc / default / grub, но версия, установленная в настоящее время, была локально изменена mount.cifs снова не вводит пароль пользователя Включает ли include = «*» в rsync копирование всех скрытых файлов во всех подкаталогах? Как предотвратить перекрытие рабочих столов Gnome и XFCE Автоматическое монтирование других разделов в Arch Linux

Как вывести количество всех файлов с «tty» в имени файла в каталоге Linux, где хранятся файлы на системных устройствах

У меня возникли проблемы с пониманием того, как выводить количество всех файлов с «tty» в имени файла в каталоге Linux, где хранятся файлы на системных устройствах.

ls /dev/tty* | wc -w 

Во-первых, вам нужно выяснить способ перечислить эти файлы. Каталог, в котором хранятся файлы устройства,

/dev

поэтому команда для перечисления этих файлов

echo /dev/*tty*

(Обратите внимание, что это включает в себя не только консоли VGA, такие как /dev/tty5 , но также и порты /dev/tty5 портов, такие как /dev/ttyS0 или /dev/ttyUSB0 .)

Есть команда подсчета слов в текстовом вводе: wc . Таким образом, вы можете получить такой счет:

echo /dev/*tty* | wc

Это работает только в том случае, если имена файлов не содержат пробелов. Команда может быть более надежной, но все же не идеальной, если вы перечислите имена файлов по строкам и подсчитаете строки; это только ломается, если имена файлов содержат символы новой строки:

ls /dev/*tty* | wc -l

Более надежный метод в скрипте – это получить список имен файлов в виде списка и подсчитать его длину. Подстановочные знаки расширяются до списка имен; есть специальный случай, когда список пуст: подстановочный знак не разворачивается.

 set -- /dev/*tty* if [ $# -eq 1 ] && ! [ -e "$1" ]; then set -- fi echo "There are $# matching files" 

Упражнение: делает ли сниппет выше работу для шаблона подстановочных знаков (т. Е. Существует ли шаблон подстановочного знака, для которого фрагмент сообщает 0 файлов, когда есть один или наоборот)?