Grep脚本在CD上运行

时间:2013-03-14 18:42:52

标签: linux bash grep

我正在尝试学习一些bash脚本编写和清理一些旧CD(还记得吗?)

我所拥有的是一堆没有押韵或理由的备份CD,因此我想创建一个基于关键字搜索它们的grep脚本。 (我目前正在尝试首先针对桌面测试脚本)我知道如何运行grep,但它的脚本我遇到了麻烦。

所以这就是我所拥有的:

 #!/bin/bash
 #CDGrepScript

 SOURCEDIR=/home/name/Desktop (I'm currently testing it with files on the desktop)
 #mount /dev/cdrom     
 #SOURCEDIR=/dev/cdrom

 echo "hello, $USER. I will search your files"
 echo Begin Search...

 grep -ir "taxes|personal|School" * 

 echo $results
 echo "The search is complete. Goodbye"

 exit

现在,当我对桌面上的文件运行时。我的脚本在“开始搜索”之后挂起我做错了什么?

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

通过更通用的工具,您可能会得到更好的服务。就像rgrep(递归grep)一样,它将遍历一棵树,搜索一个搜索词。一个例子:

# rgrep
#
# Search for text strings in a directory hierarchy
set +x
case $# in
0 | 1 )
       # Not enough arguments -- give help message
       echo "Usage: $0 search_text pathname..." >&2
       exit 1
       ;;
* )
       # Use the first argument as a search string
       search_text=$1
       shift
       # Use the remaining argument(s) as path name(s)
       find "$@" -type f -print |
       while read pathname
       do
        egrep -i "$search_text" $pathname /dev/null
       done
       ;;
esac

将它放在您的路径中,然后您只需将目录更改为CD-ROM的安装点,然后键入

$ rgrep "taxes" .  

或者您希望执行的任何其他搜索。