使用sed从一个文件到另一个文件生成命中

时间:2015-01-22 19:42:41

标签: regex sed

我试图制作" hits"使用sed在一个文件中找到另一个文件但我错过了替换文本的某些部分,我无法找出它为什么不起作用。

使用此命令:

sed 's/\x1B[[0-9;]*[JKmsu]//g;s/.*(0x\([A-Za-z0-9]\+\)\.0x\([a-z0-9]\+\).*/(<Aug>Oct\2\1? Feb:Sep) -/g;s/.*(0x\([a-z0-9]\+\).*/(<Aug>Oct\1? Feb:Sep) -/g;s/.*}/(<Aug>Oct? Feb:Sep) -/' q1data.txt > 1.txt && cat 1.txt

我试图保留一些文字并删除我不需要的文字。然而,在某些方面,它错过了我试图grep的文本。

使用上面的命令使用这两个文件我应该能够得到一个正确的结果,因为我grep文本中的红色部分,但由于我不知道的原因它在某些行失败。文件1的结果应与q1hits.txt相同。 (请注意,需要在终端中打开文件才能使配色方案正常工作和格式化) q1dataq1hits

1 个答案:

答案 0 :(得分:0)

sed 's/\x1B[[0-9;]*[JKmsu]//g;s/.*(0x\([A-Za-z0-9]\+\)\.0x\([a-z0-9]\+\).*/(<Aug>Oct\2\1? Feb:Sep) - /g;s/.*(0x\([a-z0-9]\+\).*/(<Aug>Oct\1? Feb:Sep) - /g;s/.*([A-Za-z\.]\+0x\([a-z0-9]\{3\}\).*/(<Aug>Oct\1? Feb:Sep) - /g;s/.*([A-Za-z\!]\+.0x\([a-z0-9]\{3\}\).*/(<Aug>Oct\1? Feb:Sep) - /g;s/.*([A-Za-z0-9]\+.0x\([a-z0-9]\{3\}\).*/(<Aug>Oct\1? Feb:Sep) - /g;s/.*}/(<Aug>Oct? Feb:Sep) - /' q1data.txt > 1.txt

经过大量的测试和尝试后,任务得以解决。如果您有任何改进建议,请发表评论。