| 关键词: png jpg nbsp tt file ab find name 单点 echo |
简单点的: $ ls 1.jpg 2.jpg 3.jpg 4.jpg 5.jpg 6.jpg 7.jpg 8.jpg $ for file in $(ls);do mv $file `echo $file | sed s/jpg$/png/g`;done $ ls 1.png 2.png 3.png 4.png 5.png 6.png 7.png 8.png 更简单的: $ ls 1.png 2.png 3.png 4.png 5.png 6.png 7.png 8.png $ rename png jpg *.png $ ls 1.jpg 2.jpg 3.jpg 4.jpg 5.jpg 6.jpg 7.jpg 8.jpg 用find更切题: $ find . -name "*.webp" ./tt/1.jpg ./tt/2.jpg ./tt/3.jpg ./tt/4.jpg ./tt/5.jpg ./tt/6.jpg ./1.jpg ./2.jpg ./3.jpg ./4.jpg ./5.jpg ./6.jpg $ find . -name "*.webp" | while read file; do mv $file $(echo $file|sed s/jpg$/png/g); done $ find . -name "*.webp" ./tt/1.png ./tt/2.png ./tt/3.png ./tt/4.png ./tt/5.png ./tt/6.png ./1.png ./2.png ./3.png ./4.png ./5.png ./6.png 当然也可以这么用: $ for file in $(find . -name "*.webp"); do mv $file $(echo $file|sed s/png$/jpg/g); done awk真不错,每一步命令都打印出来了,要执行就后面加个“|sh”吧: $ find . -name "*.webp" | awk -F'.' '{print("mv "$0" ."$2".png")}' mv ./tt/1.webp ./tt/1.png mv ./tt/2.webp ./tt/2.png mv ./tt/3.webp ./tt/3.png mv ./tt/4.webp ./tt/4.png mv ./tt/5.webp ./tt/5.png mv ./tt/6.webp ./tt/6.png mv ./1.webp ./1.png mv ./2.webp ./2.png mv ./3.webp ./3.png mv ./4.webp ./4.png mv ./5.webp ./5.png mv ./6.webp ./6.png mv ./ab/1.webp ./ab/1.png mv ./ab/2.webp ./ab/2.png mv ./ab/3.webp ./ab/3.png mv ./ab/4.webp ./ab/4.png mv ./ab/5.webp ./ab/5.png mv ./ab/6.webp ./ab/6.png |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|