An example of an OpenBSD
/etc/fstab file:
Code:
/dev/wd0a / ffs rw 1 1
/dev/wd0m /backup ffs rw,nodev,nosuid 1 2
/dev/wd0e /home/j65nko ffs rw,nodev,nosuid 1 2
/dev/wd0d /tmp ffs rw,nodev,nosuid 1 2
/dev/wd0k /usr ffs rw,nodev 1 2
/dev/wd0l /usr/local ffs rw,nodev 1 2
/dev/wd0f /var ffs rw,nodev,nosuid 1 2
/dev/wd0h /var/log ffs rw,nodev,nosuid 1 2
/dev/wd0g /var/tmp ffs rw,nodev,nosuid 1 2
A nicely formatted version:
Code:
# special mount fs mount dump fsck
# device point type options freq pass#
# ======= ===== ==== ======= ==== =====
#
/dev/wd0a / ffs rw 1 1
/dev/wd0m /backup ffs rw,nodev,nosuid 1 2
/dev/wd0e /home/j65nko ffs rw,nodev,nosuid 1 2
/dev/wd0d /tmp ffs rw,nodev,nosuid 1 2
/dev/wd0k /usr ffs rw,nodev 1 2
/dev/wd0l /usr/local ffs rw,nodev 1 2
/dev/wd0f /var ffs rw,nodev,nosuid 1 2
/dev/wd0h /var/log ffs rw,nodev,nosuid 1 2
/dev/wd0g /var/tmp ffs rw,nodev,nosuid 1 2
The awk script to accomplish this:
Code:
# Reformat OpenBSD /etc/fstab file
# $Id: format_fstab,v 1.1 2010/01/27 02:14:02 j65nko Exp $
# usage: awk -f format_fstab /etc/fstab
# WARNING: first backup your original fstab file before redirecting
# the output of this awk script to the /etc/fstab
# cd /etc
# cp -p fstab fstab.orig
# awk -f format_fstab fstab.orig >fstab
# cat fstab
BEGIN {
printf("%s\t%s\t\t\t\t\t%s\t%s\t\t\t\t\t%s\t%s\n", "# special","mount","fs","mount","dump","fsck")
printf("%s\t%s\t\t\t\t\t%s\t%s\t\t\t\t\t%s\t%s\n","# device","point","type","options","freq","pass#")
printf("%s\t%s\t\t\t\t\t%s\t%s\t\t\t\t\t%s\t%s\n","# =======","=====","====","=======","====","=====")
printf("#\n")
}
{
T2=" "
if (length($2) >= 1 ) T2="\t\t\t\t"
if (length($2) >= 8 ) T2="\t\t\t"
if (length($2) >= 16 ) T2="\t\t"
if (length($2) >= 24 ) T2="\t"
T4=" "
if (length($4) >= 1 ) T4="\t\t\t\t"
if (length($4) >= 8 ) T4="\t\t\t"
if (length($4) >= 16 ) T4="\t\t"
if (length($4) >= 24 ) T4="\t"
printf( "%s\t%s%s\t%s\t%s%s\t%s\t%s\n" ,$1,$2,T2,$3,$4,T4,$5,$6)
}
# end of script
The previous version :
Code:
# --------------------------------------------------
FILE=/etc/fstab
FILE=./fstab
ORIG=${FILE}.orig
cp ${FILE} ${ORIG} # create backup
echo Formatting ${FILE}
cat <<END >${FILE}
# special mount fs mount dump fsck
# device point type options freq pass#
# ====== ===== ==== ======= ==== =====
#
$(awk '{ printf("%s\t%s\t\t%s\t%s\t\t\t\t%s\t%s\n", $1, $2, $3, $4, $5, $6)}' $ORIG )
/dev/cd0a /cdrom d9660 ro,noauto 0 0
/dev/fd0a /floppy msdos ro,noauto 0 0
END
cat $FILE