我正在努力解决我尝试使用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之外还有另一种方法吗?
答案 0 :(得分:0)
这会使用制表符替换未转义的=
。
sed 's/\([^\\]\|^\)=/\1\t/g' file
你也可以尝试一下。我假设输入文件中的每一行都有一个未转义的=
字符。
$ sed 's/\(.*[^\\]\|^\)=\(.*\)/Name: \1\t Value: \2/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)