【发布时间】:2014-08-28 14:23:14
【问题描述】:
我有一个脚本,下面的 sed 命令对输入文件起作用。
sed -i 's/SESSION_ID/sid/g;s/TIME_HOUR/hh/g;s/TIME_MINUTE/mm/g;s/TIME_SECOND/ss/g;s/TIME_MILLISECOND/mss/g;s/MSISDN/MS/g;s/IMSI/IM/g;s/IMEISV/IV/g;s/name_ALLOCATED_UE_ADDRESS_IPV4/aI4/g;s/IPV6/I6/g;s/OPERATION_TYPE/OT/g;s/LOCATION_AREA_CODE/LC/g;s/CELL_IDENTITY/CI/g;s/RAT_TYPE/RT/g;s/APN/AP/g;s/COUNTRY_CODE/CC/g;s/NETWORK_CODE/NC/g;s/name_SGSN_ADDRESS_IPV4/sI4/g;s/QCI/QC/g;s/SUBSCRIBERGROUP/SG/g;s/MONITORING_KEY/MK/g;s/QUOTA_VOLUME_BIDIRECTIONAL/QV/g;s/MBR_UL/MU/g;s/MBR_DL/MD/g;s/RULE_ID/RD/g;' $FiletosqeezE
现在的问题是......执行所需的时间比预期的要长。能否请您告知什么可以更快地替换此 sed 命令...我们甚至可以在这里借助 perl...谢谢。
【问题讨论】:
-
您预计需要多少 时间?除非您可以利用额外的信息,例如行首的所有字符串,否则您不太可能使其更快。
-
对不起,如果我听起来很愚蠢......但没有明白你的意思......特别是“例如在行首的所有字符串。” ....谢谢您的回复顺便说一句...
-
给出一个输入样本,以便进行优化。您的 sed 动作列表对于所有那些“独立”模式的通用修改来说很快,但也许不是不是通用的(就像许多术语在 1 行或相反的从不在同一行,...)
-
发布几行具有代表性的示例输入和预期输出,以便我们为您提供帮助。