如何在 Shell 中的某个特定字符后追加字符串

How to Append a string after some specific characker in Shell

我有一个从 youtube 下载视频的脚本,但我想在 www. 之后添加 ss 它将被转换进入 www.ssyoutube.com

 #!/bin/bash
 dialog --inputbox "Enter Video's Link..." 10 30 2>/tmp/video.txt
 video=`cat /tmp/video.txt`       
 edit=ss 
 echo $video
 sleep 5;
 wget $video

你可以使用 sed。在正则表达式中使用转义点来匹配文字点。

sed 's/www\./www.ss/g' file

sed -i 's/www\./www.ss/g' /tmp/video.txt

Parameter Expansion 可以在 bash.

中为您完成此操作
video="www.youtube.com"
edit="ss"
video="${video/www./www.$edit}"
echo "$video"                   # www.ssyoutube.com

man bash → 搜索 "Pattern substitution."

(当然,sed 也可以,但是对于简单的字符串替换,使用 bash 的内置功能比分叉一个新进程要有效得多。)