Вы разместили строки Задачи .
В плейбуке вы должны как минимум указать целевые хосты и задачи .
- hosts: my_hosts
tasks:
- name: run show version on remote devices
junos_command:
commands: show version
См.http://docs.ansible.com/ansible/playbooks_intro.html#basics
Попробуйте это:
curl -l "ftp.fakeurl.com.au/In Stock Daily CSV/" --user username:password |
grep '\.csv$' |
sort -t. -k3,3 -k2,2 -k1,1 |
tail -n 1
grep '\.csv$'
получить строки csv sort -t. -k3,3 -k2,2 -k1,1
сортировать с помощью .
в качестве разделителя полей по 3-му полю года, 2-му полю месяца и 1-му полю InStockDailyXX
по дню tail -n 1
получить последнюю строку (новейшую дату)В zsh
вы можете получить отсортированный список csv
с помощью:
list=(*.csv(oe'<REPLY=${(j::)${(s:.:Oa)REPLY}}>'))
А затем последний находится в$list[-1]
*.csv(glob-qualifier)
:глобус с квалификаторами глобус oe'<code>'
:o
упорядочить список на основе e
оценки code
(, где код устанавливает переменную $REPLY
в качестве основы для сортировки)${(s:.:Oa)REPLY}
:s
разделить $REPLY
переменную (, содержащую имя файла для рассмотрения )на точку, и перевернуть O
порядок на a
индекс массива (перевернуть список )${(j::)list}
:соединить элементы списка. Таким образом, если $REPLY
изначально был InStockDaily10.07.19.csv
, новый $REPLY
, по которому будет сортироваться глобус, будет csv1907InStockDaily10
. Это предполагает, что префикс всегда такой же, как в вашем примере. Если нет, вы можете использовать:
list=(*.csv(oe'<REPLY=${(j::)${(Oas:.:M)REPLY%??.??.??.*}}>'))
Где %pattern
в сочетании с флагом расширения параметра M
извлекает суффикс M
, присоединяющий шаблон к концу $REPLY
(, поэтому $REPLY
будет csv190710
вместоcsv1907InStockDaily10
).