grep搜索文件内容
# 基本使用,搜索app子目录下,包含"start_"的文件 grep -r "start_" ./app
# 指定符合某模式的文件,同时排除某些文件 grep -r "start_" ./app --include *.rb --exclude user.rb
# 小写字母l选项,让grep只打印匹配的文件名,不显示匹配内容,大写L则只打印不匹配的文件名 grep -r "start_" ./app --include *.rb --exclude user.rb -l
grep配合sed,搜索替换文件内容
# sed -i 原地替换文件而不是只打印到标准输出, 单引号内容是搜索替换的编辑命令 grep -r "These" ~/tmp --include *.txt -l |xargs sed -i 's/These/Here/gi'
zip压缩目录,排除某后缀类型文件,并排除指定子目录目录
# 递归压缩tjda目录到tjda.zip ,排除后缀为.gem的文件,排除 .git目录
zip -r tjda.zip ./tjda -x \*.gem ./tjda/.git/**/\*
# 或者,任意级子目录
zip -r tjda.zip ./tjda -x \*.gem **/.git/**/\* **/test/**\*