我有一個命令similiar這這一個:使用sed轉義單引號和雙引號。 geed,查找,xargs的
find ./ -type f | xargs gsed -i -r 's/[$][A-Za-z_\'"]/testing
我想將這個命令的工作。不幸的是,單引號和雙引號打破了命令。我怎樣才能逃避這個字符串,並使這個命令工作?
此問題與此one相同,因爲我在[。但是如果一個小改動解決了這個問題,我想知道。
我曾嘗試過幾種不同的方式,使用@,#,\,但沒有成功。
我有一個命令similiar這這一個:使用sed轉義單引號和雙引號。 geed,查找,xargs的
find ./ -type f | xargs gsed -i -r 's/[$][A-Za-z_\'"]/testing
我想將這個命令的工作。不幸的是,單引號和雙引號打破了命令。我怎樣才能逃避這個字符串,並使這個命令工作?
此問題與此one相同,因爲我在[。但是如果一個小改動解決了這個問題,我想知道。
我曾嘗試過幾種不同的方式,使用@,#,\,但沒有成功。
起飛看這個:
kent$ cat file
''''''
""""""
kent$ sed 's/\x27/single /g;s/\x22/double /g' file
single single single single single single
double double double double double double
所以,改變你的cmd進入:
find ./ -type f | xargs gsed -i -r 's/[$][A-Za-z_\x22\x27]/testing'
注我沒有檢查,如果查找/ xargs的一部分OK,只是單/雙引號部分。
您不能在單引號中使用單引號。您可以:
結束的單引號,然後用一個反斜槓報價:'...'\'
結束的單引號,然後在雙引號中使用單引號:'...'"'"
或者你可以嘗試把sed腳本在雙引號和轉義需要轉義
gsed -i -r "s/[$][A-Za-z_'\"]/testing/"
什麼