«Колдунство» легче разбирать если оно отформатировано (пусть простит меня коллега renzrv)#!/bin/bash
DEST='/mnt/md1/Public/xxx'
FTP_GET="wget --user=xxloginxx --password=xxxxxx -qO - ftp.xxx.ru"
T="$(LC_ALL=C date '+%Y/%b')"
LC_ALL=C $FTP_GET |
awk -vt=${T} '($1 "/" $2) == t {print gensub(/.*">(.+)\/<\/a>\s*$/, "\\1", 1)}' |
while read dir
do
DEST_DIR="${DEST}/${T}/${dir}"
mkdir -p "$DEST_DIR"
${FTP_GET}/${dir}/ |
awk -vt=${T} '($1 "/" $2) == t {print gensub(/.*"(ftp:\/\/.+)">.*/, "\\1", 1)}' |
${FTP_GET% -q*} -c -N -P "$DEST_DIR" -i -
done
Пользователь добавил сообщение 11 Января 2017, 15:06:10:
И как на меня sed проще и быстрее awk T="$(LC_ALL=C date '+%Y %b')"
…
… sed "/\n/P;/${T}/s#>\|/</a>#\n#g;D" |
…
… DEST_DIR="${DEST}/${T% *}/${T#* }/${dir}"
…
… sed "/\n/P;/${T}/s#href=\"\|\">#\n#g;D" |
…