脚本:如何删除文本文件中的十六进制字符串

时间:2013-07-05 23:33:46

标签: regex bash awk

输入文件类似于

<org.eclipse.core.runtime.adaptor.EclipseClassLoader@1c7d9114,Lorg/eclipse/core/ resources/ResourcesPlugin;>.<init>(Lorg/eclipse/core/runtime/IPluginDescriptor;)V

目标是删除1c7d9114,之类的十六进制字符串。

十六进制字符串的长度是固定的,即8。

请同时包含以下逗号。

有没有简单的脚本可以解决这个问题?

2 个答案:

答案 0 :(得分:3)

使用

sed 's/@[a-f0-9]\{8\},/@/' input

答案 1 :(得分:2)

使用

perl -pe 's/\@[a-f0-9]{8},/\@/' input.txt

使用

awk '{gsub(/@[a-f0-9]{8},/,"@",$0)}1' input.txt