在我的程序中,我想首先获取用户输入,并\在每个之前插入一个/
所以我写这个,但它不起作用.
echo "input a website"
read website
sed '/\//i\/' $website
Eug*_*ash 116
试试这个:
website=$(sed 's|/|\\/|g' <<< $website)
巴什实际上支持这种替代本身:
${parameter/pattern/string}-取代的第一场比赛pattern用string.
${parameter//pattern/string}-更换所有比赛pattern用string.  
因此你可以这样做:
website=${website////\\/}
说明:
website=${website // / / \\/}
                  ^  ^ ^  ^
                  |  | |  |
                  |  | |  string, '\' needs to be backslashed
                  |  | delimiter
                  |  pattern
                  replace globally
Kar*_*ath 15
echo $website | sed 's/\//\\\//g'
或者,为了更好的可读性:
echo $website | sed 's|/|\\/|g'