Bash 4.4 имеет history-substring-search-backward
привязываемую команду, которая делает это. Из файла NEWS:
2. New Features in Readline
<...>
b. There are new bindable commands to search the history for the string of
characters between the beginning of the line and the point
(history-substring-search-forward, history-substring-search-backward)
Вы можете составить список адресов с помощью wget:
# parse listing index.html
$ wget -O- http://download.savannah.gnu.org/releases/lzip/ | grep -oE '["].*\.lz["]' | sed -e 's/^.*href=//' -e 's/\"//g' > urls.txt
# download files from list
$ wget -i urls.txt
Если у вас их больше, вы можете поместить их в массив, а затем
addresses=(\
"http://aaaaa" \
"http://bbbb" \
"http://ccc" \
)
for adr in ${addresses[@]}; do
wget -O-...
done
Вы также можете объединить все это -составить список списков (index.html -s )на первом этапе, затем список.mp4 -s на втором, а затем загрузить из этого списка с wget -i <urls>
.
Вы можете отклонять файлы mp4, записывая отказы в файл, который впоследствии можно использовать для загрузки этих файлов mp4.
Основываясь на приведенной выше команде (, вы можете добавить-r
):
wget --no-parent --rejected-log=file.rej -R mp4 example.com/
Отказы будут в file.rej
. У него много полей, второе — это отклоненный URL.