簡體   English   中英

如何在bash中將單引號替換為雙引號?

[英]How to replace single quotes to double quotes in bash?

我有以下字符串:

 {"name":"ram","details":[{'subjects':{'service_location':'c:/A.exe','url':'http://A.zip'}}]}

在上面的字符串中,很少有字符串用單引號引起來。 因此,如何在上述字符串中用雙引號替換單引號,並得到如下結果:

 {"name":"ram","details":[{"subjects":{"service_location":"c:/A.exe","url":"http://A.zip"}}]}

@Learner:嘗試sed解決方案:

sed "s/'/\"/g"  Input_file

要么

your_command | sed "s/'/\"/g" 

擴展@ RavinderSingh13答案,使用以下命令轉換您的字符串。

echo '{"name":"ram","details":'"[{'subjects':{'service_location':'c:/A.exe','url':'http://A.zip'}}]}" | sed "s/'/\"/g"

tr來翻譯單個字符:

your_command | tr "'" '"'

或者,如果鍵入太多:

your_command | tr \' \"

:-)

以下將所有單引號轉換為雙引號。 這使用了awk的內置gsub函數來搜索和替換文本。 在這里,我們告訴awk來替代s等於單引號。 找到單引號后,將其替換為雙引號。 1是打印行。

awk -v s="'" '{gsub(s,"\"")}1' file

要么

source-of-json | awk -v s="'" '{gsub(s,"\"")}1'

暫無
暫無

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

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