如何在 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
的内置功能比分叉一个新进程要有效得多。)
我有一个从 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
的内置功能比分叉一个新进程要有效得多。)