我有一个包含 *.cpp 类型文件的目录。因此,我想通过使用 "复制" 操作将目录中的每个文件复制并粘贴到同一目录中。
cp -a *.cpp
有没有一种方法可以在粘贴时选择删除 .cpp 后缀呢?这种可能吗?
我有一个包含 *.cpp 类型文件的目录。因此,我想通过使用 "复制" 操作将目录中的每个文件复制并粘贴到同一目录中。
cp -a *.cpp
这里是一个简单的bash脚本。该脚本假定文件名只包含一个“.”字符,并基于此进行拆分。
#!/bin/sh
for f in *.cpp; do
#This line splits the file name on the delimiter "."
baseName=`echo $f | cut -d "." -f 1`
newExtension=".new"
cp $f $baseName$newExtension
done
for i in *.cpp
do
cp -a $i ${i%%.cpp}
done
可以使用rename命令,可选使用-f参数来强制覆盖已存在的文件。
rename -f 's/\.ext$//' *.ext
要预览操作,但不更改文件,请使用-n开关(无操作)。
这不是复制而是移动 :-(
mv
和cp
的选项,但我不知道直接解决你问题的方法。考虑编写一个简单的脚本(bash、python或其他语言),用于复制和重命名每个文件。此外,我相信有许多可用的工具可以帮助管理文件。也许它们能为你提供一个解决方案。 - lupz