1.文件改名,删除后缀.co
#! /bin/shSTR=codirectory=$PWDc=0for file in $directory/*do if [ ${file:(-2)} = $STR ] then mv $file ${file%.$STR} fidone
exit 0
2.转化文件格式,同时更改文件名
#! /bin/sh
OPERATION=macptopbm -----使用"netpbm"包中的"macptopbm"程序进行转换
SUFFIX=pbm
if [ -n "$1" ]
then
directory=$1
else
directory=$PWD
fi
for file in $directory/*
do
filename=${file%.*c}
$OPERATION $file > "$filename.$SUFFIX
rm -f $file
echo "$filename.$SUFFIX"
done
exit 0
3.将音频流文件转化为ogg格式的文件
#! /bin/sh#mplayer#ogg and oggenc database
OFILEPREF=${1%%ra}OFILESUFF=wavOUTFILE="$OFILEPREF""$OFILESUFF"E_NOARGS=65
if [ -z "$1" ]then echo "Usage: `basename $0` [filename]" exit E_NOARGSfi
mplayer "$1" -ao pcm:file=$OUTFILEoggenc "$OUTFILE"
rm "$OUTFILE"exit $?
4.模拟getopt
#! /bin/shgetopt_simple(){ echo "getopt_simple()" echo "Parameters are '$*'" until [ -z "$1" ] do echo "Processing parameter of: '$1'" echo ${1:0:1} ----提取参数的第一个字符 if [ ${1:0:1} = '/' ] then tmp=${1:1} ----提取参数除第一个字符外的所有字符
echo "tmp: " ${1:1} parameter=${tmp%%=*} -----提取tmp等号后所有值 value=${tmp##*=} ------去除tmp等号前所有值 echo "Parameter: '$parameter', value: '$value'" eval $Parameter=$value fi shiftdone}
getopt_simple $*echo "test is '$test'"echo "test2 is '$test2'"
exit 0
5.提取字符串的另一种方法
#! /bin/shstring=23skidoolecho ${string:2:4}echo | awk ' --------使用一个空的"echo" 通过管道传递给awk一个假的输入,这样就不必提供一个文件名给awk { print substr("'"${string}"'",3,4) } 'exit 0