0. 在非zip文件中查找含有某个字符串的文件:
grep -ir '200880288193' dd/
grep -r 'matching str' path
1.zip file 中文件名含有"ABC" 的文件 :
find . -name '*.zip' -exec grep -qi 'ABC' {} /; -exec echo {} /;
2.zip file 中的文件内容中含有字符串ABCDEF的文件:
for file in *.zip; do if unzip -p $file | strings | grep "ABCDEF" > /dev/null; then echo $file; fi; done
note: unzip -p
-p extract files to pipe (stdout). Nothing but the file data is sent to stdout, and the files are always extracted in binary format, just as they are stored (no conversions).
grep -qi
-i, --ignore-case
Ignore case distinctions in both the PATTERN and the input files.
-q, --quiet, --silent
Quiet; do not write anything to standard output. Exit immediately with zero status if any match is found, even if an error was detected.Also see the -s or --no-messages option.
-R, -r, --recursive
Read all files under each directory, recursively; this is equivalent to the -d recurse option.
another try (almost same):
#!/bin/su $searchstring=$1 for zipfile in *.zip do unzip -qq -l $zipfile | awk '{ print $4 }' | while read file do if unzip -p $zipfile $file | grep $searchstring > /dev/null then echo "$zipfile / $file" fi done done
本文介绍如何使用grep命令在文件系统或压缩文件中查找包含指定字符串的文件,包括非压缩文件和zip文件,并提供了详细的命令解释。

3110

被折叠的 条评论
为什么被折叠?



