-e в команде grep

Это должно охватывать его

cut -c1 filename | sort -u | wc -l

Используя ваши данные о пастебине он дает результат 21.

Вырез просто вырывает букву 1, сортировка имеет флаг -u для уникальности, а затем направляется в wc , чтобы дать число строк.

-121--133075-

Потому что нажатие клавиши 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
0
04.04.2018, 12:33
1 ответ

«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
5
28.01.2020, 02:16

Теги

Похожие вопросы