Pagine che contengono il template ((U)) che punta a pagine sprovviste dello stesso.
#!/bin/bash
# Con templatetiger estraggo le pagine citate nei template U
mysql --defaults-file=replica.my.cnf -h tools-db -e "SET NAMES 'latin1'; SELECT DISTINCT Value FROM itwiki WHERE tp_name LIKE 'U' AND (entry_name = '0' OR entry_name = 'pagina' OR entry_name = 'Pagina');" s51071__templatetiger_p > templatetiger.txt
# Normalizzo il risultato
awk '{gsub(" ", "_", $0); if (NR!=1) print toupper(substr($0,1,1)) substr($0,2)}' templatetiger.txt > templatetiger2.txt
# Ottengo tutte le pagine col template U
mysql --defaults-file=replica.my.cnf -h itwiki.labsdb -e "SELECT page_title FROM page JOIN templatelinks ON tl_from = page_id WHERE page_namespace = 0 AND tl_namespace = 10 AND tl_title = 'U';" itwiki_p > pagineU.txt
# Rimuovo le pagine che hanno un template U
grep -Fxv -f pagineU.txt templatetiger2.txt > paginesenzaU.txt
# Normalizzo gli escape
awk '{gsub("\"", "\\\"", $0); print $0;}' paginesenzaU.txt > paginesenzaU2.txt
# Per ogni pagina ottengo da quale pagina con template U è puntata
for i in $( cat paginesenzaU2.txt )
do
echo $i
mysql --defaults-file=replica.my.cnf -h itwiki.labsdb -e "SELECT page_title FROM page JOIN pagelinks ON pl_from = page_id JOIN templatelinks ON tl_from = page_id WHERE page_namespace = 0 AND pl_title = \"$i\" AND tl_namespace = 10 AND tl_title = 'U' LIMIT 1;" itwiki_p > rigarisultato.txt
awk -v i=$i 'BEGIN {FS="|"; OFS=" "} NR==2 {print "# [["$1"]] -> [["i"]]"}' rigarisultato.txt >> avvisiUtmp.txt
done
# Ordino
sort avvisiUtmp.txt > avvisiU.txt
# Pulizia
rm templatetiger.txt
rm templatetiger2.txt
rm pagineU.txt
rm paginesenzaU.txt
rm paginesenzaU2.txt
rm rigarisultato.txt
rm avvisiUtmp.txt