最近开始学习shell脚本语言,发现grep命令的功能很强大,趁着边学习边总结。
1.用grep在文本中搜索文本
1.在grep搜索中包括和排除文件
grep "main()" . -r(表示递归搜索) --include *.{c,cpp}
grep "main()" . -r --exclude(表示排除文件) "README"
--exclude-dir(表示排除目录)
2.xargs命令通常用于将文件名列表作为命令行参数提供给其他命令
xargs -0 表示0值字节作为文件名终止符,而不是用空格
3. $#表示提供到shell脚本或者函数的参数总数
$?表示上一条命令执行后的退出状态,0表示成功,非0表示不成功
4.-bash: ./silent_grep.sh: /bin/bash^M: bad interpreter: No such file or directory
原因:由于shell脚本是在window下运行的,所以每行末尾都是\r\n;而linux下每行末尾为\n。
通过 cat -A silent_grep.sh即可看到^M表示\r
通过sed -i 's/\r$//' silent_grep.sh即可除去\r