Это должно охватывать его
cut -c1 filename | sort -u | wc -l
Используя ваши данные о пастебине он дает результат 21.
Вырез
просто вырывает букву 1, сортировка
имеет флаг -u для уникальности, а затем направляется в wc
, чтобы дать число строк.
Потому что нажатие клавиши TAB вызывает автозавершение, при котором обнаружено соответствующее имя файла/каталога.
Достигает ли man builtin
желаемого?
man builtin
BASH_BUILTINS(1) General Commands Manual
...
BASH_BUILTINS(1)
...
BASH BUILTIN COMMANDS
Unless otherwise noted, each builtin command documented in this section
as accepting options preceded by - accepts -- to signify the end of the
options. The :, true, false, and test builtins do not accept options
and do not treat -- specially. The exit, logout, break, continue, let,
-121--228740- Используйте команду timeout
, например time 10s myscript
.
man timeout
TIMEOUT(1) User Commands TIMEOUT(1)
NAME
timeout - run a command with a time limit
«e для выражения» является разумной интерпретацией, особенно в отличие от флага -E
для расширенного регулярного выражения (ERE ), который доступен по крайней мере в некоторых версиях grep
.
Можно использовать несколько флагов -e
для соответствия любому из нескольких выражений, например.:
# grep -e "nodes" -e "routers" /etc/hosts
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
И -e
допускает шаблоны, начинающиеся с тире, так что grep
не пытается интерпретировать шаблон как опцию/флажок:
# grep -e "-all" /etc/hosts
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts