我正在阅读包含这些正则表达式的文档行(不包含单引号,包含双引号:
' "text" '
或
' "text1/text2" '
我想使用bash脚本替换文本以获得这两个不同的输出:
' PRE text POST '
或
' ANOTHERPRE text1 MID text2 POST '
我试图使用字符串替换{string // /},但我似乎无法将'text'部分保留在我想要替换的字符串之间。
实际问题是字符串外部分隔符在两种情况下是相同的,情况之间的差异是“/”,这应该表明我可以使用ANOTHERPRE和MID。
关于如何在bash中执行此操作的任何建议?
举个例子,我有以下几行:
hello "user" you are "alive/10"
我希望制作:
hello PRE user POST you are ANOTHERPRE alive MID 10 POST
答案 0 :(得分:1)
我认为这很简单:
sed 's/"/ PRE /;s/"/ POST /;s#/# MID #' <<< YourString
示例:
kent$ sed 's/"/ PRE /;s/"/ POST /;s#/# MID #' <<< ' "text1/text2" '
PRE text1 MID text2 POST
kent$ sed 's/"/ PRE /;s/"/ POST /;s#/# MID #' <<< ' "text" '
PRE text POST