【发布时间】:2013-09-25 10:48:20
【问题描述】:
如何使用 sed 删除目录中文件名中的特定文件扩展名。例如,我在目录中有一个文件,
file1.txt
file2.txt
file3.cpp
然后我想去掉一个.txt扩展的文件的文件扩展名,所以结果是,
file1
file2
file3.cpp
谢谢!
【问题讨论】:
-
如果您已经有一个名为“file1”的文件怎么办?
标签: sed
如何使用 sed 删除目录中文件名中的特定文件扩展名。例如,我在目录中有一个文件,
file1.txt
file2.txt
file3.cpp
然后我想去掉一个.txt扩展的文件的文件扩展名,所以结果是,
file1
file2
file3.cpp
谢谢!
【问题讨论】:
标签: sed
你可以使用rename:
rename 's/\.txt$//' *
这样说会从匹配文件中删除 .txt 扩展名。
【讨论】:
如果你真的想使用 sed,这应该可行:
for file in *.txt ; do mv $file `echo $file | sed 's/\(.*\)\.txt/\1/'` ; done
【讨论】: