【发布时间】:2015-01-11 23:54:00
【问题描述】:
这是我在这个网站上的第一个问题。(很高兴我发现了这个社区)
我正在尝试替换文件中的特定模式(多行),看起来像这样:
Bla bla bla bla |SMTH AWESOME INSIDE >>> LOL| bla bla bla | let's do it again >>> AWESOME |
变成这样的格式
Bla bla bla bla ( LOL | SMTH AWESOME INSIDE ) bla bla bla ( AWESOME | let's do it again )
我尝试通过使用逐字解析行的代码以及如果找到“|”来做到这一点字符开始创建一个包含第一个单词的字符串,然后,在找到 >>> 字符后,它开始创建第二个字符串,直到找到“|”最后一个字符,但它不起作用。
之后我也尝试过使用 AWK(但由于我是 linux 新手,所以我也失败了。
awk -F 'BEGIN { FS=OFS="|" } { sub(/.*<<</,"", $2); }1' $1 }'
然后使用 sed 解析输出(从两个字符串中删除 ) 和 ( 字符。但它不起作用。
感谢您的阅读。
【问题讨论】:
-
不要使用“模式”这个词,因为它非常模棱两可。您在搜索正则表达式或字符串或其他内容吗?如果您不想要
(和),请不要将它们添加到第一位。发布几行示例输入(包括您认为难以正确处理的案例)和预期输出。