嗨,大家,我对用sed and Regex替换字符串的问题。
我有一个以下重复文本的百分点。
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...}
预期WITH REPLICATION = { 'class' : 'SimpleStrategy', 'replication_factor' : 1 }
我已经尝试了下面的命令,但没有成功。它替换并切割全文仅保留1行。
sed -r "s/caching='{(.|n)*?}'/caching='KEYS_ONLY'/g")
sed -r "s/WITH replication = {(.|n)*?}/WITH REPLICATION = { 'class' : 'SimpleStrategy', 'replication_factor' : 1 }/g")
有人可以建议我。我该怎么办?
您可以使用tr将 n替换为 f进而请尝试使用[^"]*?