From owner-freebsd-doc Thu Oct 9 02:16:50 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.7/8.8.7) id CAA19228 for doc-outgoing; Thu, 9 Oct 1997 02:16:50 -0700 (PDT) (envelope-from owner-freebsd-doc) Received: from mail.cs.tu-berlin.de (root@mail.cs.tu-berlin.de [130.149.17.13]) by hub.freebsd.org (8.8.7/8.8.7) with ESMTP id CAA19220 for ; Thu, 9 Oct 1997 02:16:44 -0700 (PDT) (envelope-from wosch@cs.tu-berlin.de) Received: from panke.panke.de (anonymous215.ppp.cs.tu-berlin.de [130.149.17.215]) by mail.cs.tu-berlin.de (8.8.6/8.8.7) with ESMTP id LAA27795 for ; Thu, 9 Oct 1997 11:12:58 +0200 (MET DST) Received: (from wosch@localhost) by panke.panke.de (8.8.5/8.6.12) id LAA00672; Thu, 9 Oct 1997 11:10:29 +0200 (MET DST) Date: Thu, 9 Oct 1997 11:10:29 +0200 (MET DST) Message-Id: <199710090910.LAA00672@panke.panke.de> From: Wolfram Schneider To: docs@freebsd.org Subject: html file names MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit Sender: owner-freebsd-doc@freebsd.org X-Loop: FreeBSD.org Precedence: bulk $ cvs co FAQ $ cd FAQ $ make FORMATS=html generate file names like FAQ[0-9]*.html FAQ1.html FAQ10.html FAQ100.html FAQ101.html FAQ102.html FAQ103.html FAQ104.html FAQ105.html FAQ106.html FAQ107.html FAQ108.html [...] the script rename the file names to FAQ.html e.g.: $ <script> FAQ $ ls FAQ_ACKNOWLEDGMENTS.html FAQ_Any_restrictions_on_how_I_divide_the_disk_up_.html FAQ_Are_there_any_Database_systems_for_FreeBSD_.html FAQ_Are_there_any_commercial_high-performance_X_servers_.html FAQ_Books_on_FreeBSD.html FAQ_Can_FreeBSD_handle_multiport_serial_cards_sharing_irqs_.html FAQ_Can_I_connect_my_Win95_box_to_the_Internet_via_FreeBSD_.html FAQ_Can_I_follow_current_with_limited_Internet_access_.html FAQ_Can_I_install_on_a_disk_with_bad_blocks_.html [...] #!/bin/sh # # Copyright (c) 1997 Wolfram Schneider <wosch@FreeBSD.org>. Berlin. # All rights reserved. # # rename sgml/html generated file names to human readable file names # # $Id$ case $# in 0) echo "usage `basename $0` file" exit 1 esac file=$1; export file if [ -f "$file.html" ]; then : else echo "$file.html does not exist" exit 1 fi # search for title name egrep -i '^<title' $file[1-9]*.html | perl -npe 's/<TITLE>[\*\s]*//; s%\s*.*%%; s/[^a-zA-Z0-9\_\-\.:\n]/_/g' > .list # create sed commands awk -F: '{print "s/" $1 "/'$file'_" $2 ".html/g;"}' .list > .sed # create mv(1) shell script perl -ne 'chop;($a,$b)=split(/:/); print qq[rename ("$a", "$ENV{'file'}_$b.html") || ] . qq[die "rename $a $ENV{'file'}_$b.html:\$\!";\n]' .list > .mv # replace links if [ -f "$file.ln" ]; then perl -i -p .sed $file.ln fi # replace links perl -i -p .sed $file*.html # rename file names perl .mv rm -f .mv .sed .list -- Wolfram Schneider http://www.apfel.de/~wosch/