我有一些zip文件的集合,我有一些xml数据。在那个数据我想从命令行执行Perl正则表达式。但是这个命令只适用于非压缩文件,对于压缩文件,它不是wokring。
perl -ne '/ID:([0-9.]+).+Test=\"([\d\w.-\s]+)\"/ and print "$1 $2\n"' data.log.gz | sort -nr | uniq -c | sort -nr
示例XML结构:
ABC ID:12342132: <?xml version="1.0" encoding="UTF-8"?><a Test="ABC"></a>
答案 0 :(得分:1)
压缩文件不会以您可以使用Perl轻松解析的格式包含所需的数据。你需要先解压缩它们。但是Unix命令zcat
可以为您提供动态。
$ zcat data.log.gz | perl ...