Ubuntu linux下Shell批量重命名文件的实例

将当前目录下面的php文件全部改写为html文件

for it in *.php;
do
mv $it "$it.pdf";
done

将文件名中的URL转义字符%2E修正为点号.
有时候下载的文件名中含有URL的转义字符,如%2E,%2F等
参见附录:URL转义字符。

for it in <code>ls *.pdf|grep "%2E"</code>; 
do 
mv $it <code>echo $it|sed s/%2E/./g</code>; 
done

按照文件大小编号命名

let i=0; 
for it in <code>ls -S</code>; 
do 
mv $it "size${i}.txt"; 
let i=i+1; 
done

将当前目录下面的php文件全部改写为html文件-修订版
上述的命名法仍然保留了php字符,如果想去掉的话,这样:

for it in <code>ls *.php</code>; 
do 
mv $it <code>echo $it|sed s/.php$/./g</code>; 
done

附录:URL转义字符。
URL转义字符原理

为了安全或者网页数据的正常传递,需要将一些特殊的字符转换成ASCII码,格式为:%加字符的ASCII码,即一个百分号%,后面跟对应字符的ASCII(16进制)码值。例如 空格的编码值是”%20″。

URL特殊符号及对应的十六进制值编码:

符号 在URL中的特殊意义 URL转义字符
+ URL中+号表示空格 %2B
空格 URL中的空格可以用+号或者编码%20
/ 分隔目录和子目录 %2F
? 分隔实际的 URL 和参数 %3F
% 指定特殊字符 %25
# 表示书签 %23
& URL中多个参数的分隔符 %26
= URL中指定参数的值 %3D

Posted from GScribble.

Comments are closed.