1.文件改名,删除后缀.co
#! /bin/sh
STR=co
directory=$PWD
c=0
for file in $directory/*
do
if [ ${file:(-2)} = $STR ]
then
mv $file ${file%.$STR}
fi
done
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=wav
OUTFILE="$OFILEPREF""$OFILESUFF"
E_NOARGS=65
if [ -z "$1" ]
then
echo "Usage: `basename $0` [filename]"
exit E_NOARGS
fi
mplayer "$1" -ao pcm:file=$OUTFILE
oggenc "$OUTFILE"
rm "$OUTFILE"
exit $?
4.模拟getopt
#! /bin/sh
getopt_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
shift
done
}
getopt_simple $*
echo "test is '$test'"
echo "test2 is '$test2'"
exit 0
5.提取字符串的另一种方法
#! /bin/sh
string=23skidool
echo ${string:2:4}
echo | awk ' --------使用一个空的"echo" 通过管道传递给awk一个假的输入,这样就不必提供一个文件名给awk
{
print substr("'"${string}"'",3,4)
} '
exit 0