CountPwd=grep -c "$1" $HODSDATAFILE
这句话是什么意思啊,grep,-c ,是干什么用的啊
grep -c 就是不显示内容,只打印行的数目
纠正一下措辞
grep 是用来从文件中搜索匹配行的。
比如你的文件名为filename,文件内容为:
aaa bbb safsad
asdf aaa sadf
asdfasdf
那么你用命令
grep "aaa" filename
就会得到前两行的内容
aaa bbb safsad
asdf aaa sadf
grep -c 就是不显示内容,只打印行号
那么
grep -c "aaa" filename
就会得到2
你提供的命令:
"$1" $HODSDATAFILE都是变量。
-c,–count
只打印匹配的行数,不显示匹配的内容。
[url]http://www.juyimeng.com/grep-usage-tips.html[/url]
[Linux初窥]grep
-- print lines matching a pattern (将符合样式的该行列出)
grep -- print lines matching a pattern (将符合样式的该行列出)
◎语法: [color=darkblue]grep [options] PATTERN [FILE...] [/color]
grep用以在file内文中比对相对应的部分,或是当没有指定档案时,
由标准输入中去比对。[color=red][size=medium] 在预设的情况下,grep会将符合样式的那一行列出。[/size][/color]
再看看选项(options)怎么用的,
[color=red] -c, --count[/color]
最后看看 [quote]"$1" $HODSDATAFILE` [/quote]
了解这个,需了解shell编程,shell是怎么使用已经定义的变量的?是这样的,
[b]shell中使通过$这个dollar符号来引用变量的[/b]
而在这里,"$1"是什么意思呢?
这类似向java程序传参数一下,在java中使用args[0],args[1]这样获取参数,
shell中使用位置变量参数
[quote]在向脚本传递参数时,可以使用此位置变量来获取参数。
他们分别是:
$0:脚本名字。此变量包含地址,可以使用basename $0获得脚本名称。
$1:第一个参数
$2,$3,$4,$5,...一次类推。[/quote]
$HODSDATAFILE 这个就是引用一个常量,该常量为某一文件名。