Почему команда source не работает в crontab, использующем сценарий оболочки, содержащий команду cd?

getent passwd | awk -F : 'length($1) >= 5 && length($1) <= 10 { print $1 }'

Будут напечатаны имена пользователей длиной от 5 до 10 символов (включительно ).

Для самых коротких и самых длинных имен:

getent passwd |
awk -F : 's == "" || length($1) < length(s) { s = $1 }
          l == "" || length($1) > length(l) { l = $1 }
          END { printf("shortest: %s (%d chars)\n", s, length(s))
                printf("longest:  %s (%d chars)\n", l, length(l)) }'

Выполнение обеих операций за один проход по базе данных паролей (в виде полного bashскрипта, хотя /bin/shэтого должно было быть более чем достаточно, поскольку этот скрипт не использует bashничего конкретного, любая оболочка сможет его запустить):

#!/bin/bash
getent passwd |
awk -F : 'length($1) >= 5 && length($1) <= 10 { print $1 }
          s == "" || length($1) < length(s)   { s = $1   }
          l == "" || length($1) > length(l)   { l = $1   }
          END { printf("shortest: %s (%d chars)\n", s, length(s))
                printf("longest:  %s (%d chars)\n", l, length(l)) }'
0
20.05.2020, 21:12
0 ответов

Теги

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