Не зная ничто больше о ссылках и принимая только изменения номера страницы, вот мой подход. Сначала я думал о diff -e
, но оказывается, что это просто создает целую строку ed
сценарий замены, который бесполезен как начальная точка.
Таким образом, вот чистое решение для удара:
#!/bin/bash
url1=${1:-"http://unix.stackexchange.com/questions/tagged/linux?page=2&sort=newest&pagesize=15"}
url2=${2:-"http://unix.stackexchange.com/questions/tagged/linux?page=34&sort=newest&pagesize=15"}
pagenum=${3:-42}
function splitOnDigit() {
prefix="${1%%[0-9]*}"
url1="${1#$prefix}" # remainder if you strip the prefix
url2="${2#$prefix}"
suffix1="&${1#*&}" # remainder after the number
suffix2="&${2#*&}"
num="${url1%$suffix1}" # the number that we just split around
if [[ $suffix1 == $1 ]]; then
# if substitutions failed, we're at the end
echo "$prefix$3"
return
fi
if [[ $suffix1 == $suffix2 ]]; then
echo "$prefix$3$suffix1"
else
echo -n "$prefix$num"
splitOnDigit "$suffix1" "$suffix2" "$3"
fi
}
splitOnDigit "$url1" "$url2" "$pagenum"
Это сравнивает две строки в блоках путем разделения один на числах. Просто сохраните его где-нибудь и выполните его — это является автономным. Рекурсивная часть там на всякий случай, изменяющаяся числовая часть не является первой, найденной как в Вашем примере.
Для генерации целого диапазона номеров страниц помещает все это в цикл (берет три аргумента: url1 url2 pagenumber, точно так же, как функция это реализует). Это достаточно быстро для работы как есть, но строковая порча могла быть сделана только однажды и сохранена как суффиксный префиксом парный промежуток, который Вы поместили свои числа итерации.
В конечном итоге зависит от каждого отдельного применения для анализа собственных вариантов командной строки, поэтому некоторые могут поддерживать опцию -GEOMEOMETRY
и некоторые не будут. Вам придется проверить страницу человека или сообщение использования для каждого приложения.
ничего не стоит того, чтобы GVIM
, кажется, имеет работу -GEOMEOMETRY
, по крайней мере, на мою систему.
0 1 2 - это туз в порядке оценки, а правила, стоящие в нем человека, читают на мой взгляд.
Однако это ответ RTFM, формат ACL описан в MAN LS
на ОС X.
Настройка ACL осуществляется через Chmod
на OSX; См. Человек Chmod
(формат ACL также описан там).