搜索文件中的特定值,并使用Perl将其替换为字符串[关闭]

bwntbbo3  于 6个月前  发布在  Perl
关注(0)|答案(1)|浏览(71)

已关闭。此问题需要details or clarity。目前不接受回答。
**要改进此问题吗?**通过editing this post添加详细信息并阐明问题。

26天前关闭
社区在17天前审查了是否重新打开这个问题,并将其关闭:
原始关闭原因未解决
Improve this question
我有一个日志文件,其中只包含网址。该文件包含超过30万行。在每一行和每一行之间的网址有一些值。例如20行
x1c 0d1x的数据
在这里,在前3行有一个值后“/code/“的东西称为“DMADCCA...”和从第4行有一个值后“/catalogue/”的东西称为“APA 01”一样,有许多行caotaine不同的值在不同的地方。我需要做的是用字符串“SSSS”使用Perl脚本替换这些值。*需要Perl脚本。 我需要搭配图案**有人能帮我吗?

moiiocjp

moiiocjp1#

这可能对你有用(GNU sed):

sed -E 's#(.*/(code|catalogue)/)[^/]*#\1SSSS#' file

字符串
使用greed和alternation替换行上最后一次出现/code//catalogue/之后的值。
除了codecatalogue之外的其他键也可以被插入/追加,但是它们必须考虑到贪婪.*,该贪婪.*将它们限制在一行上的最后一次出现,因此它们的顺序可能需要调整。
注意:替换命令使用替代分隔符(#)。
旁白:tesseract OHfg9.png - -l eng 2>/dev/null|sed '/\S/!d' >file以文本格式file提供了测试数据。

相关问题