使用zip-conduit
库,我想列出ZIP存档中的条目。我想每行只打印文件名 - 类似于unzip -l
,但没有任何其他信息。
注意:此问题是使用Q& A风格回答的,因此故意不会展示任何研究成果!
答案 0 :(得分:2)
您可以使用entryNames
功能。通过修改the ZIP extraction example,我们可以打印名称而不是提取。
以下示例程序从第一个命令行参数中获取ZIP文件名,并使用mapM_ putStrLn
打印它们:
import Codec.Archive.Zip (withArchive, entryNames)
import System.Environment (getArgs)
main = do
-- ZIP file name: First commandline arg
zipPath:_ <- getArgs
names <- withArchive zipPath $ entryNames
mapM_ putStrLn names