关于shell:如何在Linux中删除dir中文件名的特定后缀

how to delete filename's specific suffix in a dir, in linux

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicate:
Extract filename and extension in bash
Linux: remove file extensions for multiple files

1
For example, A.txt B.txt, I want to rename then to A and B .

如何使用shell脚本?或者其他方法?谢谢。


1
for i in *.txt; do mv"$i""${i%.txt}"; done

我会使用类似的东西:

1
2
3
4
5
6
#!/bin/bash

for file in *.txt
do
    echo"$file""$( echo $file | sed -e 's/\.txt//' )"
done

当然,将上面的两个".txt"引用替换为要删除的任何文件扩展名,或者最好使用$1(第一个传递给脚本的参数)。

米迦勒G


1
for FILE in *.txt ; do mv -i"$FILE""$(basename"$FILE" .txt)" ; done