我知道是否有程序或脚本可以将文件名中的分隔单词与点(或其他标点符号)链接起来。
例:
你好.pdf>>> How.are.you.pdf
我没有很好地解释自己,我正在寻找一个可以重命名文件名的bash脚本
答案 0 :(得分:0)
sed是你的帮助。
例如:
echo "How are you.pdf" | sed 's/ /./g'
sed
命令分为command/1st argument/2nd argument/command
在我们的例子中:
s - 搜索
[space] - 空格字符
。 - 点角色 替换
g - 全局执行此操作,而不仅仅是第一次出现
答案 1 :(得分:0)
假设变量中有How are you.pdf
,您可以使用parameter expansions:
% a="How are you.pdf"
% echo "${a// /.}"
How.are.you.pdf
以上是bash扩展,在POSIX shell中不起作用。在这种情况下,需要sed
或simulare。
重命名当前目录中的所有文件:
for a in *; do
[ -f "$a" ] || continue
mv -- "$a" "${a// /.}"
done
答案 2 :(得分:0)
有一个名为perl-rename
的工具,有时称为rename
- 不要与rename
from util-linux混淆。
此工具采用Perl表达式并相应地重命名:
perl-rename 's/ /./g' *
以上内容将重命名当前目录中的所有文件/目录,以便为句点添加替换空格:
How are you.pdf -> How.are.you.pdf
This is another.file -> This.is.another.file