📌  相关文章
📜  bash 从文件夹名称中批量删除字符串 (1)

📅  最后修改于: 2023-12-03 15:29:34.909000             🧑  作者: Mango

Bash从文件夹名称中批量删除字符串

在日常的编程工作中,经常需要批量操作文件夹名称,在文件夹名称中删除特定的字符串可能是其中的一种需求。在Linux中,可以使用Bash来实现这个功能。

实现步骤
  1. 使用cd命令进入要被操作的目标文件夹。

  2. 使用ls命令列出当前目录下的所有文件夹。

    ls -d */
    

    这个命令会列出所有以正斜杠(/)结尾的文件夹名称,即列出所有文件夹。

  3. 使用for循环,逐个操作每个文件夹名称。

    for d in */; do command; done
    

    这个命令会将*/的文件夹名称一个个赋值给变量d,然后执行command

  4. command中,使用字符串替换功能将特定的字符串删除。

    newname=${d/oldstr/newstr}
    

    这个命令会将变量d中的oldstr替换为newstr,然后将结果保存在变量newname中。

  5. 使用mv命令将文件夹名称修改为新的名称。

    mv "$d" "$newname"
    

    这个命令会将原本的文件夹名称$d修改为新的名称$newname

  6. 完整的代码如下:

    #!/bin/bash
    cd /path/to/target/folder
    for d in */; do
        newname=${d/oldstr/newstr}
        mv "$d" "$newname"
    done
    

    在执行这个脚本之前,需要将/path/to/target/folder替换为实际的目标文件夹路径,以及将oldstrnewstr替换为实际需要删除的字符串和替换成的字符串。

总结

使用Bash可以方便地批量操作文件夹名称。通过上述步骤,可以轻松地将文件夹名称中的特定字符串删除。