我有一个文件文件夹,其中包含各种随机文件扩展名以及根本没有扩展名。我希望从文件名中删除扩展名。我觉得我可能会走很长的路,但我想避免使用两个列表和移动命令,因为它不能即时执行。
我正在使用的代码将创建一个变量来保留扩展名,我正在尝试使用 sed 语法调用重命名命令以从文件中删除变量。
for i in `ls`; do
blah=$(echo $i |awk -F . '{if (NF>1) {print $NF}}')
echo \.$blah
rename 's/\.$blah//' $i
done
我得到的错误是:全局符号“$blah”在(eval 1)第 1 行需要显式包名称
在这一点上,我将构建一个带有前后列的 csv,并使用它来去除文件名,但为了将来参考,我想知道如何实现这一点。
我看到很多关于对单个或几个扩展使用重命名的帖子:
rename 's/.mp3//' *.mp3
但由于不同扩展名的数量......