如何编写一个shell脚本,用于从命令行中的某个目录(或子目录)中搜索给定字符串下的文件列表以及显示包含该字符串的所有文件。Shell脚本从命令行接受字符串并显示包含该字符串的文件列表
回答
试试这个,如果它给你想要的东西:
grep -rl "string" **/*
基本例如:
#!/bin/sh
STRING=$1
DIR=$2
find $DIR -type f -exec grep -l $STRING {} \;
固定,以处理空格等被留下来作为学生的exercize。
我命名脚本“findfile.sh”,并与第一个参数运行=查找的字符串,第二=目录看起来像这样:
[[email protected]:tmp]$ ./findstring.sh lyskom /home/jenny/src/elisp
/home/jenny/src/elisp/lyskom-elisp-client-all-0.48/README
/home/jenny/src/elisp/lyskom-elisp-client-all-0.48/lyskom-all-0.48.el
/home/jenny/src/elisp/lyskom-elisp-client-all-0.48/lyskom-all-0.48.elc
/home/jenny/src/elisp/lyskom-elisp-client-all-0.48/NEWS-0.48
/home/jenny/src/elisp/lyskom-all-0.48.elc
/home/jenny/src/elisp/lyskom-swedish-0.48.elc
/home/jenny/src/elisp/lyskom.elc
正如你可以看到它名单包含在目录/ home /珍妮/ src目录/ elisp的/及其子目录单词“lyskom”每FIL。
我如何使用脚本? – user2115365 2013-03-05 13:07:50
哎呀,对不起。添加该信息。 – 2013-03-05 13:09:13
@ user2115365'的MyScript“搜索字符串”/tmp'会列出所有文件在/ tmp目录(和子目录)包含“搜索字符串” – 2013-03-05 13:09:59
这个shell脚本显示所有包含指定字符串
#!/bin/bash
grep -l "$1" *
的文件,您可以将其保存为find_util.sh做
chmod a+x find_util.sh
./find_util.sh search
,如果你想它来搜索子目录,你也可以将其更改为
#!/bin/bash
grep -lr "$1" *
感谢保罗的R用固定格式 – 2013-03-05 13:01:12
- 1. Shell脚本:在文本文件中搜索多个字符串并显示包含字符串的行
- 2. Shell脚本:在并行字符串时连接字符串
- 3. unix命令行...如何grep并只显示包含字符串的文件名?
- 4. 从命令行编写接受字符串的Java代码,并按字母顺序显示其字符
- 5. shell脚本 - 如果列b包含字符串字符串,CSV文件更改第n列的值
- 6. 字符串在C中包含字符串++的文本文件
- 7. Shell脚本,字符串搜索文件
- 8. 将ASCII字符串转换为USB UTF16字符串格式表示为使用shell命令的shell字符串
- 9. 使用sed命令shell脚本替换字符串包含空格
- 10. 从命令行接受用户输入的字符串并仅打印唯一字符列表的程序
- 11. Shell脚本在两个字符串之间显示文本
- 12. 包含在字符串列表中的检查字符串
- 13. 检查包含子字符串列表的字符串
- 14. 使用sed替换包含特殊字符的shell脚本中的字符串
- 15. bash命令输出包含特定字符串的文件名
- 16. 搜索并替换文件夹shell脚本中的字符串
- 17. 在Python中,如何获取字符串文本,并返回一个包含字符串列表的列表?
- 18. 扫描包含给定字符串的行的文本文件,并将行替换为另一个字符串
- 19. python程序从命令行接受字符串并打印文件夹内与该字符串匹配的所有文件
- 20. 使用mathjax显示文本字符串中的乳胶命令
- 21. 循环显示表行的列表,直到行包含特定的字符串?
- 22. shell脚本移动文件不当地连接字符串
- 23. 如何搜索文件中的字符串并打印包含该字符串的行?
- 24. 识别包含字符串和数字的字符串列表中的数字
- 25. 字符串包含
- 26. 包含字符串
- 27. C++从.txt文件添加字符串转换成字符串数组,并显示该阵列
- 28. Groovy - 从字符串中提取并显示子字符串
- 29. 如果文件不包含该heredoc字符串,在特定的heredoc字符串之后追加heredoc字符串?
- 30. 字符串中的Shell脚本参数
如何接受来自命令行的输入? – user2115365 2013-03-05 13:04:41
你有什么输入?文件名?或一堆文字?您想做什么?在问你想要做递归grep和列出文件名,现在它被改变或没有? – Kent 2013-03-05 13:06:53
输入一个字符串和脚本必须经过一个文件夹,如果你有'S = string'然后'的grep -rl显示包含字符串 – user2115365 2013-03-05 13:08:42