Первая проблема заключается в том, что ваш файл был создан в Windows и поэтому имеет окончание строки в стиле Windows(\r\n
)вместо стандартного UNIX:
$ head -n1 libro.csv | od -c
0000000 a u d i o \r \n
0000007
Таким образом, когда вы запускаете свой сценарий, переменная $audio
не 1532365967
, а 1532365967\r
, \r
является частью значения переменной. Поскольку у вас нет файлов с \r
в именах, команда find
ничего не возвращает и, следовательно, ничего не копируется.
Вам также не нужно xargs
здесь, вы можете сделать все это с помощью find
. Вот рабочая версия того, что вам нужно сделать:
sed 's/\r//g' libro.csv | while IFS= read -r audio; do
find /Audios/busqueda/ -name "*$audio*" -exec mv {} /Audios/busqueda/copia \;
done
Обратите внимание, что при этом также будет выполняться поиск заголовка audio
, так как он является частью файла. Чтобы этого избежать, выполните:
tail -n +2 libro.csv | sed 's/\r//g' | while IFS= read -r audio; do
find /Audios/busqueda/ -name "*$audio*" -exec mv {} /Audios/busqueda/copia \;
done
Для управления учетными записями вы можете использовать FreeIPA , который создаст платформу централизованного управления идентификацией. Он использует LDAP для управления информацией об учетных записях пользователей и доступом, а также Kerberos для аутентификации пользователей. Это похоже на Active Directory в том, что у вас есть центральное расположение для управления пользователями и единый вход -для всей области. Есть даже некоторая конфигурация, которую вы можете определить в LDAP, которую могут использовать системы CentOS, например доступ sudo.
После того, как вы настроили управление идентификацией, вы можете настроить службу общего сетевого хранилища домашнего каталога. Проще всего использовать NFS . С помощью NFSv4 и Kerberos из службы FreeIPA вы можете защитить NFS.