【发布时间】:2020-07-21 02:16:30
【问题描述】:
我是脚本新手,尝试读取 .gz 文件并复制包含“唉!”的行在其文件中。 myfiles/all*/input.gz。在提到的路径中,它应该搜索所有以 (all) 开头的目录。对于 input.gz 文件。在 input.gz 文件中,它应该搜索字符串“Alas!”并打印文本文件中的行。我确定如何使用zgrep 命令执行此 linux
zgrep 'Alas!' myfiles/all*/input.gz > file1.txt。我在尝试为此编写脚本时迷路了。
【问题讨论】:
-
.gz中有多个文件或单个文件 -input.txt? -
在搜索文件之前,您需要解压缩文件。您可以通过使用
gzip.open打开文件来完成此操作(有关更多信息,请参阅docs.python.org/3/library/gzip.html#gzip.open) -
@bigbounty 有多个以 all 开头的文件,例如“all_phpfiles”、“all_csvfiles”。在每个以“all”开头的文件中,它应该进入文件并搜索 .gz 文件。在 .gz 文件中,它应该搜索字符串“Alas!” .我不确定 .gz 文件中存在什么
-
@bigbounty
.gz是纯压缩格式,不是存档格式;.gz文件不能包含多个文件(除非包含具有这种结构的存档文件,例如.tar.gz)。
标签: python python-3.x filehandler