如何使用sed或awk将等号后的空格替换为符号^^作为分隔符

如何使用sed或awk将等号后的空格替换为符号^^作为分隔符,awk,sed,Awk,Sed,输入文件格式 Text test=123会话\u id=12356浏览器\u id=23466 url=http://test.com/Add-JARs-to-Project-Build-Paths-in-Eclipse-%28Java%29 文本测试=213会话\u id=23561浏览器\u id=24661 url=http://test.com/ 预期输出格式 Text test1=123^^session\u id=12356^^Browser\u id=23466^^url=htt

输入文件格式

Text test=123会话\u id=12356浏览器\u id=23466 url=http://test.com/Add-JARs-to-Project-Build-Paths-in-Eclipse-%28Java%29
文本测试=213会话\u id=23561浏览器\u id=24661 url=http://test.com/
预期输出格式

Text test1=123^^session\u id=12356^^Browser\u id=23466^^url=http://test.com/Add-JARs-to-Project-Build-Paths-in-Eclipse-%28Java%29
文本测试2=213^^会话id=23561^^浏览器id=24661^^url=http://test.com/
这应该可以

sed -E 's/(=[^= ]+) /\1^^/g' file
如果需要(GNU)-awk:


awk-v of s=“^^”{gsub(/test/,“test”NR);$1=$1”“$2;for(i=3;i始终是一个很好地了解数据的情况,但假设我们只是从第二个空间一直替换到最后,您可以执行以下操作:

sed ':a s/ /^^/2;ta' file

这并没有在
test
中附加升序数是的,我看到了…一个未记录的规范!
sed ':a s/ /^^/2;ta' file