如何解析.dat文件并获取其中声明的.jar文件的时间戳和文件大小等模式



如何解析一个。dat文件,并获得模式,如时间戳和文件大小的。jar文件声明里面?

在数据文件中有很多文本,但我试图找到这样的行:

perl -nle "print $1 if /(d+s+d{4}-d{2}-d{2}sd{2}:d{2}:d{2}s+.*?.jar)/" input.dat

或者使用grep:

几乎相同
grep -Eo "[[:digit:]]+[[:space:]]+[[:digit:]]+.[[:digit:]]+.[[:digit:]]+[[:space:]]+[[:digit:]]+.[[:digit:]]+.[[:digit:]]+[[:space:]]+.*?.jar" input.dat

grep使用POSIX regex语法,它更重,所以我尽可能坚持使用perl变体。

更新:

要获取特定文件名的数据,请将"最接近.jar"模式(.*?.jar)替换为所需的文件名:

perl -nle "print $1 if /(d+s+d{4}-d{2}-d{2}sd{2}:d{2}:d{2}s+sample.jar)/" input.dat

grep -Eo "[[:digit:]]+[[:space:]]+[[:digit:]]+.[[:digit:]]+.[[:digit:]]+[[:space:]]+[[:digit:]]+.[[:digit:]]+.[[:digit:]]+[[:space:]]+sample.jar" input.dat

最新更新