root用户下新建目录a,编写shell脚本将目录a下所有的文件的扩展名改为bak的具体操作步骤,求大神指教
1个回答
2018-10-19 · 知道合伙人互联网行家
关注
展开全部
尊重你的原有思路,修改代码如下:
1234567#!/bin/bashdir=/root/lianxifor file in $dir/*do base=${file%.*} mv $file ${base}.bakdone
其中,${file%.*}表示去除文件扩展名,即最后一个点号及其后的所有内容。若不带扩展名,如你例子中的4,则返回本身。
或者,for循环中也可以用sed直接替换得到新文件名:
12newFile=$(echo $file|sed 's/\..*/\.bak/')mv $file $newFile
1234567#!/bin/bashdir=/root/lianxifor file in $dir/*do base=${file%.*} mv $file ${base}.bakdone
其中,${file%.*}表示去除文件扩展名,即最后一个点号及其后的所有内容。若不带扩展名,如你例子中的4,则返回本身。
或者,for循环中也可以用sed直接替换得到新文件名:
12newFile=$(echo $file|sed 's/\..*/\.bak/')mv $file $newFile
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询