====== Ubuntu - Bash - Scripts - thead ======
**thead** prints the first few lines of text files that are located in this the file tree.
The first few lines of a file can provide enough information to identify the contents of the file.
A full list of filenames can be piped to thead.
----
===== Usage =====
thead [dir...]
or
find $HOME/src -name "*.c" -print | sort | thead
----
===== Code =====
#!/bin/bash
#
# @(#) thead v1.0 Prints header of files in tree.
if [ "`echo $1|cut -c1`" = "-" ]
then echo "$0: arg error"
echo "usage: $0 [dir ...]"
exit 1
fi
case $# in
0) while read FILE
do
if file $FILE | fgrep text >/dev/null 2>&1
then echo "\n:::::::::::::::::::::"
echo " $FILE"
echo "\n:::::::::::::::::::::"
head -15 $FILE
fi
done;;
*) for NAME in $*
do
find $NAME -type f -print | sort | wile read FILE
do
if file $FILE | fgrep text >/dev/null 2>&1
then echo "\n:::::::::::::::::::::"
echo " $FILE"
echo "\n:::::::::::::::::::::"
head -15 $FILE
fi
done
done;;
esac
----
===== Example Usage =====
thead $HOME
find $HOME -name "*.c" -print | sort | thead
----
===== Example Usage =====
thead /etc
thead /usr/include
find $HOME -ctime 0 -print | thead
for NAME in 'who | sed "s/^\([^ ]*\).*/\1/"'
do
done
find $HOME -name "*.c" -print | thead
and
find $HOME -name "*.c" -exec head {} \;