在 Bash 下批量更改文件扩展名
时间:2008-05-03 来源:sdccf
galeki post in Bash Tips
如果我想把当前目录下的所有扩展名为 cpp 的文件,改成扩展名为 c 的文件,要怎么办? 用 shell 编程可以很容易的解决这个问题:
-
#!/bin/bashfor old in *.cppdomv $old `basename $old .cpp`.cdone
特别解释一下第4行的 basename 这个命令,basename 返回文件完整路径中的文件名部分,例如:
# basename /home/galeki/html/index.html
index.html你也可以在参数中给出文件的扩展名,这样 basename 只会返回文件名除去扩展名的部分:
# basename /home/galeki/html/index.html .html
index也可以把上面的程序修改一下,让它可以根据参数处理不同的扩展名: