在Unix脚本中更改文件扩展名

时间:2014-05-30 17:31:04

标签: file unix replace sed scripting

如果我有这样的话:

file=abcdefg.url
echo $file

有没有办法让我这样做,以便当我使用>导出时,我可以将.url替换为空字符并附加.html,将其导出为html文件?

例如:

x=(sed -n 's/URL=//p' $f) 
$out=$file.html
//replace .url with a null here
$x>$out

提前致谢!

2 个答案:

答案 0 :(得分:-1)

像这样......

out=`echo file.url | sed 's/\..*//'`.html
$x>$out

或(正如我所知)更好的方法是:

out=$(echo file.url | see 's\..*//').html

答案 1 :(得分:-1)

您要将名称在$file的文件从something.url重命名为something.html,对吗?

如果是这样,假设您的shell为bash,您可能希望以这种方式删除bash后缀:

x=(sed -n 's/URL=//p' $f) 
$out=${file%\.url}.html
$x>$out

它应该从.url包含的字符串中删除$file后缀。

man bash了解有关它的详细信息。