我對sed的用法有點困惑,因爲用(')雙引號替換(')單引號我在sed中嘗試了很多組合,但不知怎的,它不允許這樣做尤其是轉換sed用法(')
任何援助將是非常讚賞
PS:我很開放,以及替代等方法,但應在bash運行正常(UNIX)
我對sed的用法有點困惑,因爲用(')雙引號替換(')單引號我在sed中嘗試了很多組合,但不知怎的,它不允許這樣做尤其是轉換sed用法(')
任何援助將是非常讚賞
PS:我很開放,以及替代等方法,但應在bash運行正常(UNIX)
你可以試試像這樣:
[ ~]$ echo "'Hello'"|sed "s/'/\"/g"
"Hello"
和反向:
[ ~]$ echo \"Hello\"|sed "s/\"/'/g"
'Hello'
否則,你可以使用tr
而不是sed
,如果你想:
[ ~]$ echo \"Hello\"|tr "\"" "'"
'Hello'
您可以使用是:
s='abc"def"123'
echo "$s"|sed "s/\"/'/g"
abc'def'123
對於僅更換一個字符,你不妨使用tr
:
$ printf '%s\n' '"Hello"' | tr \" \'
'Hello'
現在我希望你不使用這個莫名其妙「的sanitize」一些用戶輸入...
這可能會爲你工作:
sed 'y/'\''/"/' file
你嘗試什麼組合? –
我在這裏得到了我的答案 - > http://stackoverflow.com/questions/16154007/replace-all-double-quotes-with-single-quotes ...應該早點檢查 – Marcos
http://stackoverflow.com/questions/16154007 /用單引號替換所有雙引號 – Marcos