我有一个字符串:
MESSAGES { "Instance":[{"InstanceID":"i-098098"}] } ff23710b29c0220849d4d4eded562770 45c391f7-ea54-47ee-9970-34957336e0b8
我需要提取 { "Instance":[{"InstanceID":"i-098098"}] }
部分,即从第一次出现的 '{' 到最后出现的 '}' 并将其保存在单独的文件中。
最佳答案
如果您的文件中有此内容,
sed 's/^[^{]*//;s/[^}]*$//' file
(这将打印到标准输出。重定向到文件或捕获到变量中或执行您想要用它执行的任何操作。)
如果您将其放在名为 MESSAGES
的变量中,
EXTRACTED=${MESSAGES#*{}
EXTRACTED="{${EXTRACTED%\}*}}"
关于linux - 提取大括号之间的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25542269/