簡體   English   中英

sed用空格替換字符串

[英]Sed replace string with whitespaces

我有一個字符串,其格式如下:

{u city : u Zurich , u name : u Hauptbahnhof , u address : u Test address, C106, Bahnhofsstrasse }

我需要刪除所有的" u " (帶有空格),並用換行器替換", u " (帶有空格),但是我不知道該怎么做。

sed有可能嗎?

輸出應該像

{city :Zurich 
name :Hauptbahnhof 
address :Test address, C106, Bahnhofsstrasse }

感謝大伙們

以下似乎有效(有一些空格差異):

's/, u /\n/g;s/\bu //g'

即,首先用換行符替換所有", u " ,然后刪除所有u ,其中u前面沒有單詞字符。

請注意,輸出不是有效的JSON。

使用如下的perl命令行替換,使用\\b標記來匹配確切的單詞,而不會使其他字符串混亂。

perl -pe 's/\bu \b//g;' -pe 's/\b , \b/\n/g;' file
{city : Zurich
name : Hauptbahnhof
address : Test address, C106, Bahnhofsstrasse }

正如其他人指出的那樣,如果JSON損壞,請使用jq或其他方式對其進行修復。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM