我正在尝试在当前和所有子文件夹中grep多个扩展名。
grep -i -r -n 'hello' somepath/*.{php,html}
这只是抓取当前文件夹而不是子文件夹。
这样做的好方法是什么?
答案 0 :(得分:10)
仅使用grep:
grep -irn --include='*.php' --include='*.html' 'hello' somepath/
答案 1 :(得分:2)
其中一个:
find '(' -name '*.php' -o -name '*.html' ')' -exec grep -i -n hello {} +
find '(' -name '*.php' -o -name '*.html' ')' -print0 | xargs -0 grep -i -n hello
答案 2 :(得分:0)
我看起来一样,当我决定做一个bash脚本时,我开始使用vim codesearch并且我已经做过惊喜了!
#!/bin/bash
context="$3"
#ln = line number mt = match mc = file
export GREP_COLORS="sl=32:mc=00;33:ms=05;40;31:ln="
if [[ "$context" == "" ]]; then context=5; fi
grep --color=always -n -a -R -i -C"$context" --exclude='*.mp*'\
--exclude='*.avi'\
--exclude='*.flv'\
--exclude='*.png'\
--exclude='*.gif'\
--exclude='*.jpg'\
--exclude='*.wav'\
--exclude='*.rar'\
--exclude='*.zip'\
--exclude='*.gz'\
--exclude='*.sql' "$2" "$1" | less -R
将此代码粘贴到名为codesearch的文件中,并将chmod设置为700或770 我想这可能会更好,下次我忘了
此脚本将使用颜色显示匹配项和
周围的上下文./codesearch '/full/path' 'string to search'
和可选的定义默认值5周围的上下文行数
./codesearch '/full/path' 'string to search' 3
我编辑了代码并添加了一些眼睛糖果
例如./codesearch ./' eval' 2当您启用"允许闪烁文字时,看起来像这样#34;在终端