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

时间:2015-02-07 08:59:30

标签: bash shell scripting

我有一个从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

2 个答案:

答案 0 :(得分:1)

Parameter Expansion可以在bash中为您完成此操作。

video="www.youtube.com"
edit="ss"
video="${video/www./www.$edit}"
echo "$video"                   # www.ssyoutube.com

man bash→搜索“模式替换。”

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

答案 1 :(得分:0)

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

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

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