大家好,我对用sed和regex替换字符串有疑问。
我有一个带有重复文本的中心,如下所示。
quiver3
我想用匹配的CREATE KEYSPACE xyz WITH replication = {
'class': 'NetworkTopologyStrategy',
'NA': '3'
};
USE abc;
CREATE TABLE yyy (
.
.
.
) WITH
caching='{"keys":"ALL", "rows_per_partition":"NONE"}' AND abcdefg....
和caching='{.abcde..}
替换字符串
***不在乎存储桶中的任何文本。
WITH replication = {..abc..}
预期caching='{..abc...}'
caching='KEYS_ONLY'
预期WITH replication = {..abcdefg...}
我已经在下面尝试过命令,但是没有成功。它替换并剪切了全文,只剩下1行。
WITH REPLICATION = { 'class' : 'SimpleStrategy', 'replication_factor' : 1 }
sed -r "s/caching='\{(.|\n)*?\}'/caching='KEYS_ONLY'/g")
有人可以建议我吗?我该怎么办?。
答案 0 :(得分:0)
您可以使用tr将\ n替换为\ f 接着 请尝试使用[^ \“] *?与非贪婪匹配