Ныне несуществующая организация Resara создала Сервер Resara. Сервером Resara является функциональная Реализация Active Directory с помощью Samba4. Полный пакет находится в Ubuntu 12.04 (Точный Ящер), репозитории под пакетом называют rds.
Простое apt-get install rds
должен разрешить все зависимости и дать Вам рабочий Контроллер домена, к которому можно присоединиться к компьютерам на базе Windows, компьютерам OSX и выполнить, любой LDAP/AD основывал аутентификацию.
Групповая политика возможна и управляется через инструменты Windows RSAT.
Сервером можно управлять от rdsconsole
приложение.
file="00 foo 99.jpg"
expr "x$file" : '.*[^0-9]\([0-9]\{1,\}\)'
Не использовать echo
для произвольных данных Вы не можете использовать sed
как sed
работы над строками и именами файлов могут быть сделаны из нескольких строк.
match
не стандартный оператор expr
, :
стандартный эквивалент, таким образом, Вы могли бы также использовать его вместо этого для предотвращения проблем мобильности.
Добавление префикса $file
с x
удостоверяется $file
не взят в качестве expr
оператор. (и в этом случае помогает в случаях, где числам не предшествуют нечисла).
Обратите внимание, что вышеупомянутое имеет нежелательный побочный эффект, что оно возвращает ненулевой статус выхода, если возвращенное число 0 (или 00
, 000
...).
\+
не стандартный основной regexp оператор. \{1,\}
стандартный эквивалент (хотя Вы могли также записать это [0-9][0-9]*
).
Вы не должны использовать expr
здесь, Вы могли также использовать оболочку (любая оболочка POSIX) расширение параметра:
file="00 foo 99.jpg"
number=x${file}x
number=${number%[!0-9]*}
number=${number##*[!0-9]}
Используя расширенный regex синтаксис sed GNU (BSD sed
s имеют -E
вместо -r
):
$ echo "00 foo 99.jpg" | sed -r 's/(^|.*[^0-9])([0-9]+)[^0-9]*$/\2/'
99
Использование GNU expr match
вместо sed
:
$ expr match "$(echo "01 foo 89.jpg" | rev)" '[^0-9]*\([0-9]\+\)' | rev
89
С GNU grep
:
$ echo "00 foo 99.jpg" | grep -o '[[:digit:]]\+' | tail -n1
99