2013-09-25 46 views
0

如何在使用sed的目錄中的文件名中刪除特定的文件擴展名。例如像我有一個目錄中的文件,使用sed在目錄中的文件名中刪除特定的文件擴展名

file1.txt 
file2.txt 
file3.cpp 

然後我想刪除與擴展名爲.txt的文件的文件擴展名,所以結果是,

file1 
file2 
file3.cpp 

謝謝!

+0

http://superuser.com/questions/252239/how-can-i-batch-rename-files-in-bash和http://stackoverflow.com/questions/602706/batch-renaming-with-bash – zamnuts

+0

如果你已經有一個名爲「file1」的文件呢? –

回答

2

您可以使用rename

rename 's/\.txt$//' * 

這麼說的話會從匹配的文件刪除.txt擴展。

1

如果你真的想用SED,這應該工作:

for file in *.txt ; do mv $file `echo $file | sed 's/\(.*\)\.txt/\1/'` ; done 
相關問題