Вы уже получили два списка файлов, выполнив:
grep -HEri "Title\:(content)" ./www.livesite.com/ > Livesite.txt
grep -HEri "Title\:(content)" ./www.devsite.com/ > Devsite.txt
и получили: (может быть несколько совпадений для каждого найденного файла)
(Livesite.txt)
./www.livesite.com/foo/bar1.xhtml:...Title:(content1)........1a
./www.livesite.com/foo/bar1.xhtml:......Title:(content3)........1b
./www.livesite.com/goo/car.xhtml:....Title:(content4)........1c
...
(Devsite.txt)
./www.devsite.com/bar_dev.html:......Title:(content2)...2a
./www.devsite.com/far_zoo.html:...Title:(content4).........2b
./www.devsite.com/far_zoo.html:...Title:(content3).........2c
...
Результат объединения должен быть:
1a - null
1b - 2c
1c - 2b
null - 2a
Вот скрипт для внутреннего объединения двух списков с соответствующим содержимым:
while IFS=: read livepath line1; do
matching1="${line1#*Title:(}"
matching1="${matching1%)*}"
matched=0
matched_devpath=
while IFS=: read devpath line2; do
matching2="${line2#*Title:(}"
matching2="${matching2%)*}"
if [ "$matching1" = "$matching2" ]; then
matched=1
matched_devpath="$devpath"
break
fi
done <Devsite.txt
if [ "$matched" = 1 ]; then
url1="${livepath#./www.livesite.com}"
url2="${devpath#./www.devsite.com}"
echo "301 ^$url1 ^$url2"
fi
done <Livesite.txt
, и результат должен быть:
redirect 301 ^/foo/bar1.html ^/far_zoo.html
redirect 301 ^/goo/car.html ^/far_zoo.html
Umm.. удачи!