gpt4 book ai didi

linux - 删除字符串直到 shell 脚本中第二次出现

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:45:31 24 4
gpt4 key购买 nike

我的 shell 脚本执行以下操作:

grep '<record' /data/error/usage_20160422_165920.lerr.xml|sed -e 's/&apos;//g'|cut -d ';' -f1,40,43,46

结果看起来像

<record record_no = "1" error_code="101">;RevShare-2.txt;TWN;1

我想删除 xml 标签 <record record_no = "1" error_code=结果应该类似于 101;RevShare-2.txt;TWN;1 ;

记录号#是动态的。

编辑:我添加了 cut -d '=' -f3|tr -d '",>'为了达成这个。这可行,但处理包含 20,000 条记录的文件需要 3 秒。我每天收到 500 个文件。有没有更好的方法来加快这个过程?

编辑:这是记录的样子。

<record record_no = "1" error_code="101">&apos;&apos;;&apos;25467&apos;;&apos;&apos;;&apos;&apos;;&apos;FIRSTNAME&apos;;&apos;Manikin&apos;;&apos;1234001&apos;;&apos;12484254823&apos;;&apos;&apos;;&apos;&apos;;&apos;&apos;;&apos;103&apos;;&apos;12484254815&apos;;&apos;XXXXX9680&apos;;&apos;OFX&apos;;&apos;0&apos;;&apos;1028000002130745&apos;;&apos;20160422&apos;;&apos;0000&apos;;&apos;25467&apos;;&apos;20160422&apos;;&apos;Y&apos;;&apos;&apos;;&apos;&apos;;&apos;6&apos;;&apos;2&apos;;&apos;1&apos;;&apos;0&apos;;&apos;&apos;;&apos;263&apos;;&apos;99&apos;;&apos;N&apos;;&apos;&apos;;&apos;Idverifyprod@50&apos;;&apos;136&apos;;&apos;7, 74, 77, 80, 105, 136, 153&apos;;&apos;0&apos;;&apos;&apos;;&apos;501&apos;;&apos;RevShare-2.txt&apos;;&apos;20160422165920&apos;;&apos;000009680&apos;;&apos;TWN&apos;;&apos;1449587762538&apos;;&apos;1&apos;;&apos;1&apos;;&apos;0&apos;;&apos;&apos;;&apos;Verifier&apos;
</record>

最佳答案

$ awk '
BEGIN { FS=OFS=";" }
/<record/ {
gsub(/&apos;/,"")
gsub(/.*="|">/,"",$1)
print $1, $40, $43, $46
}
' /data/error/usage_20160422_165920.lerr.xml
101;RevShare-2.txt;TWN;1

关于linux - 删除字符串直到 shell 脚本中第二次出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37636459/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com