Я в системе AiX 6.1.
Мне нужны «права доступа к файлам», «владелец файла», «дата в формате дд-мм-гггг», «абсолютный путь к файлу», «значение cksum», разделенные одним пробелом.
Я использую команды "find" и "cksum" для этой цели с модулем ansible shell.
Причина, по которой я предпочитаю команду "find", а не "ls", заключается в том, что команда "ls" изменит командуформат столбца времени в зависимости от возраста файла, например: как показано ниже:
-rw-r--r-- 1 root root 89 Aug 29 12:08 booking
-rw-r--r-- 1 root bin 0 Oct 21 2016 basic.log
Команда ниже работает и дает мне желаемый вывод на Redhat Linux CentOs 7
find test.sh -printf "%M %u %TY-%Tm-%Td %TH:%TM %h/%f $(cksum<test.sh | cut -d' ' -f1)"
Вывод:
-rwxrwxr-x root 2019-08-29 17:25 ./test.sh 3522761671
Ниже приведена рабочая команда ANSI для CentOS 7 для того же самого:
ansible localhost -m shell -a "find test.sh -printf \"%M %u %TY-%Tm-%Td %TH:%TM %h/%f $(cksum<test.sh | cut -d' ' -f1)\n\""
Вывод:
localhost | CHANGED | rc=0 >>
-rwxrwxr-x root 2019-08-29 17:25 ./test.sh 3522761671
Проблема заключается в том, что это решение делаетне работает в системе AiX 6.1, и я получаю эту ошибку:
find: bad option -printf
Может кто-нибудь помочь предложить решение для команды Ansible для AiX, которое работает точно так же, как и команда CentOS, указанная выше?