当名称和值中包含“=”符号时,将 属性 的名称与其值分开
Separate the name of a property from its value when the name and value have '=' signs in them
我正在努力解决我试图用 sed 或任何其他 *nix 命令行解决的问题。
我试图将 属性 的名称与其在 属性 文件中的值分开。
问题是某些 属性 名称和 属性 值中有“=”符号。
(Y\ \=\ Generate\ Notification\ Letter)=(Y \= Generate Notification Letter)
(Y\ \=\ Generate\ Restriction)=(Y \= Generate Restriction)
(Y\ \=\ Sort\ by\ Group\ ID)=(Y \= Sort by Group ID)
我不能像往常一样使用带有“=”分隔符的剪切。
如何创建一个正则表达式来分隔非转义“=”符号之前的所有内容和非转义“=”符号之后的所有内容?
除了sed还有其他方法吗?
这会将未转义的 =
替换为制表符。
sed 's/\([^\]\|^\)=/\t/g' file
你也可以试试这个。我假设您的输入文件中的每一行都有一个未转义的 =
字符。
$ sed 's/\(.*[^\]\|^\)=\(.*\)/Name: \t Value: /g' file
Name: (Y\ \=\ Generate\ Notification\ Letter) Value: (Y \= Generate Notification Letter)
Name: (Y\ \=\ Generate\ Restriction) Value: (Y \= Generate Restriction)
Name: (Y\ \=\ Sort\ by\ Group\ ID) Value: (Y \= Sort by Group ID)
我正在努力解决我试图用 sed 或任何其他 *nix 命令行解决的问题。
我试图将 属性 的名称与其在 属性 文件中的值分开。
问题是某些 属性 名称和 属性 值中有“=”符号。
(Y\ \=\ Generate\ Notification\ Letter)=(Y \= Generate Notification Letter)
(Y\ \=\ Generate\ Restriction)=(Y \= Generate Restriction)
(Y\ \=\ Sort\ by\ Group\ ID)=(Y \= Sort by Group ID)
我不能像往常一样使用带有“=”分隔符的剪切。
如何创建一个正则表达式来分隔非转义“=”符号之前的所有内容和非转义“=”符号之后的所有内容?
除了sed还有其他方法吗?
这会将未转义的 =
替换为制表符。
sed 's/\([^\]\|^\)=/\t/g' file
你也可以试试这个。我假设您的输入文件中的每一行都有一个未转义的 =
字符。
$ sed 's/\(.*[^\]\|^\)=\(.*\)/Name: \t Value: /g' file
Name: (Y\ \=\ Generate\ Notification\ Letter) Value: (Y \= Generate Notification Letter)
Name: (Y\ \=\ Generate\ Restriction) Value: (Y \= Generate Restriction)
Name: (Y\ \=\ Sort\ by\ Group\ ID) Value: (Y \= Sort by Group ID)