#!/bin/bash
strings=$1
location=$2
if [ $# -ne 2 ];then
echo "usage ./findstr.sh your_strings your_directory"
else
for i in `ls $location`
do
cat ${location}/${i}|grep -i $strings > /dev/null
if [ $? -eq 0 ];then
echo "\"$strings\" exists in ${i}"
fi
done
fi
exit 0
### go
### ./findstr.sh your_strings your_directory
等待有时间更进一步完善...
后续可以实现查找整个目录下面所有的文件以及文件夹里面的文件,这里还有文件名称问题,如果文件名有空格的话会有问题!
//在类Unix下面默认的IFS是空格,对于文件名来说最好是不要有空格,一旦有空格处理起来还是很麻烦的(我用linux已经有一段时间了,现在早已习惯了将文件名中的空格用下划线取代,建议大家也注意这点)。
想到这里就烦windows, 还有我们早已习惯的Ctrl+C复制,在类Unix下面则是强行中断的意思,现在我已经习惯了用Ctrl+Ins来复制,用Shift+Ins来粘贴,这个在windows下面也同样有效;对于斜杠和反斜杠也是个问题,反斜杠在类Unix里面是转义的功能,但是在windows里面却也用在路径名上面,以前在输入完http:的时候经常不知道该输入斜杠还是反斜杠,后来接触类Unix才知道所有跟网络协议有关的都用斜杠,路径里面也是用斜杠;在windows下面是不区分大小写字母的,这个也是经常搞错的地方,类Unix下面是严格区分的;还有windows下面的回车问题,和类Unix下面的也不一样,ftp时很多人也在这个地方吃过苦头。
还有很多很多,字符编码啊,时区啊,还有更可恶的是windows拒绝遵守行业标准,自己全部封装起来不开放,还不遵循标准!
阅读(5153) | 评论(2) | 转发(0) |