我有一个问题,我希望有人能帮助…
我在我的一个程序中使用以下命令在压缩文件夹上执行递归fgrep / grep -f搜索:
我正在使用的命令
grep -r -i -z -I -f /path/to/pattern/file /home/folder/TestZipFolder.zip
grep -f命令在压缩文件夹内的3个文件中成功找到包含字符串“Dog”的文本文件,但是它在一行上打印输出,最后出现一些奇怪的字符,即PK(如下所示).当我尝试将输出打印到我的程序中的文件时,其他字符出现在最后,例如^ B ^ T ^ @
grep -f命令的输出:
TestZipFolder/test.txtThis is a file containing the string DogPKtest1.txtDog,is found again in this file.PKTestZipFolder/another.txtDog is written in this file.PK
我怎样才能获得每个字符串“Dog”在新行上打印的文件,这样它们就不像现在一样在一行上组合在一起?
还有“PK”和输出中出现的其他奇怪字符在哪里,我如何防止它们出现?
期望的输出
TestZipFolder/test.txt:This is a file containing the string Dog TestZipFolder/test1.txt:Dog,is found again in this file TestZipFolder/another.txt:Dog is written in this file
沿着这些方向的东西,用户可以看到文件中可以找到字符串的位置(如果在不是zip文件的文件上运行grep命令,则实际上以这种格式获得输出).
非常感谢您对此的帮助,谢谢