mypwd=$(pwd); cat dirswoindex.txt | while read dir; do echo ”$mypwd/$dir”; cd ”$mypwd/$dir”; ls -1ap | sed ’s|\(^.*$\)|<a href=\”\1\”\>\1</a><br>|’ > default.html ; mv default.html b_i ; echo ’<!DOCTYPE HTML SYSTEM ”about:legacy-compat”><html><head></head><body>’ > h_i ; echo ’</body></html>’ > t_i ; cat h_i b_i t_i > default.html ; rm -f h_i b_i t_i ; done

Syftet är att man skall kunna surfa runt i filhierarkin trots att man inte har en webbserver som automatiskt genererar index-filer (innehållsförteckningar). Det finns en bugg i Ubuntu när man har monterat FTP-servrar som lokala filsystem som yttrar sig i att lägg till (>>) inte fungerar. Därför kringgår jag den buggen genom att skapa flera filer och slå ihop dem och sedan radera beståndsdelarna. Ovanstående är sista steget och föregås av:

awk ’NR==FNR{l[$0];next;} !(FNR in l)’ lines.txt dirs.txt > dirswoindex.txt

Syftet med ovanstående rad är att ta bort de rader ur en fil (dirs.txt) som finns numrerade i en annan fil (lines.txt).

cat dirswindex.txt | while read dir; do grep -n ”^$dir$” dirs.txt; done | sed ’s|:.*$||’ | sort -n | uniq > lines.txt

Ovanstående rad genererar radnummer för de rader som finns i en annan fil (dirswindex.txt) vars rader skall tas bort ur huvudfilen (dirs.txt).

find . -type d -name ’*’ | sort > dirs.txt

Ovanstående rad genererar en fil med alla underkataloger och är den fil ur vilken rader skall tas bort.

find . -name ’index.*’ | sort | sed ’s|/index\..*||’ > dirswindex.txt

Ovanstående rad genererar en fil med alla underkataloger som innehåller t.ex. index.html, index.htm eller index.php.