链接分隔的单词

时间:2016-06-07 14:51:30

标签: linux bash archlinux

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

3 个答案:

答案 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

You can try the regex online