链接分隔的单词



我会知道是否有一个程序或脚本可以将文件名中的分隔单词与点(或其他标点符号)链接起来。例:你好吗.pdf>>>你好吗.pdf
我没有很好地解释自己,我正在寻找一个可以重命名文件名的 bash 脚本<</p>

div class="ans>

假设您在变量中有How are you.pdf,您可以使用参数扩展:

% a="How are you.pdf"
% echo "${a// /.}"
How.are.you.pdf

以上是一个 bash 扩展,在 POSIX 外壳中不起作用。在这种情况下,将需要sed或模拟。

重命名当前目录中的所有文件:

for a in *; do
  [ -f "$a" ] || continue
  mv -- "$a" "${a// /.}"
done

sed 是您在这里的帮助。

例如:

echo "How are you.pdf" | sed 's/ /./g'

sed命令分为command/1st argument/2nd argument/command

在我们的示例中:

s - 搜索

[空格] - 空格字符

. - 点字符到 取代

g - 全局执行此操作,而不仅仅是第一次出现

有一个名为perl-rename有时称为rename的工具 - 不要与util-linux的rename混淆。

此工具采用 Perl 表达式并相应地重命名:

perl-rename 's/ /./g' *

以上将重命名当前目录中的所有文件/目录,以添加句点的替换空格:

How are you.pdf      -> How.are.you.pdf
This is another.file -> This.is.another.file

您可以在线试用正则表达式

相关内容

  • 没有找到相关文章