BASH在外部源文件源

时间:2017-07-18 10:41:30

标签: linux bash scripting

我需要找到BASH脚本方法,以在外部源文件源中的所有预定义内查找特定关键字(或组合)。应将关键字输入CLI提示符,并将所有结果显示为GROUPED BY文件名。

实施例: 有来源'包含2个文件记录的文件:

/home/user/file2.txt
/home/user/dir/file2.txt

#cat /home/user/file2.txt
the RED foX

#cat /home/user/dir/file2.txt
FOX jUmped Over

#./search.sh
#Enter word: fox
Results:
    /home/user/file2.txt
    /home/user/dir/file2.txt

最好的办法是什么?

1 个答案:

答案 0 :(得分:2)

有关详细信息,请参阅grep --helpman grepman find

  • -l:仅打印包含匹配项的文件名
  • -w:强制PATTERN仅匹配整个单词
  • -F:PATTERN是一组换行符分隔的字符串
  • -i:忽略案例区别

#!/bin/bash

printf "%s" "Enter word: "

read keyword

find /home/user -type f -exec grep -lwFi "$keyword" {} +