[英]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.