下面的脚本也许面试的时候用的着。
#!/bin/bash
# 把一个文件的内容全部转换为大写.
BIG=65
if [ -z "$1" ];then # 检查命令行参数,如果$1长度为0,则为真
echo "Usage: `basename $0` filename"
exit $BIG
fi
tr a-z A-Z <"$1" #此句就是将小写转换为大写,牢记!
# 与上边的作用相同, 但是使用了POSIX字符集标记方法:
# tr '[:lower:]' '[:upper:]' <"$1"
exit 0
# 把一个文件的内容全部转换为大写.
BIG=65
if [ -z "$1" ];then # 检查命令行参数,如果$1长度为0,则为真
echo "Usage: `basename $0` filename"
exit $BIG
fi
tr a-z A-Z <"$1" #此句就是将小写转换为大写,牢记!
# 与上边的作用相同, 但是使用了POSIX字符集标记方法:
# tr '[:lower:]' '[:upper:]' <"$1"
exit 0
以filename为big为例:
# cat big
WO SHI DA XIE
wo shi xiao xie
wo SHI da XIAO xie
# cat big
WO SHI DA XIE
wo shi xiao xie
wo SHI da XIAO xie
执行如下:
# ./datoxiao big > big2
# cat big2
WO SHI DA XIE
WO SHI XIAO XIE
WO SHI DA XIAO XIE
# cat big2
WO SHI DA XIE
WO SHI XIAO XIE
WO SHI DA XIAO XIE
则文件big中的内容全部转换成了大写,此脚本并未对文件big做真正修改,只是显示的为修改后的内容,与sed的原理一样
# cat big
WO SHI DA XIE
wo shi xiao xie
wo SHI da XIAO xie
WO SHI DA XIE
wo shi xiao xie
wo SHI da XIAO xie
big文件里的内容未变!
本文转自 zhangzj1030 51CTO博客,原文链接:http://blog.51cto.com/tech110/240705