#重命名 #工具 #约定 #snake_case #命令行工具 #命名 #kebab-case

bin+lib stdrename

stdrename 是一个小型命令行工具,用于根据指定的命名约定(camelCase、snake_case、kebab-case 等)重命名文件夹中的所有文件。

4 个稳定版本

1.3.0 2020 年 10 月 17 日
1.2.0 2020 年 10 月 17 日
1.1.0 2020 年 8 月 20 日
1.0.0 2020 年 8 月 18 日

#1628命令行工具

GPL-3.0 或更高版本

21KB
285

stdrename

FOSSA Status Build Status

这个小型工具旨在根据指定的命名约定(camelCase、snake_case、kebab-case 等)重命名文件夹中的所有文件。

它目前支持以下命名约定

  • camelCase
  • kebab-case
  • PascalCase
  • SCREAMING_SNAKE_CASE
  • Sentence case
  • snake_case
  • Title Case
  • Train-Case

screenshot-of-stdrename

安装

手册

下载适用于您操作系统(Linux 的共享库和 Windows 的 .exe)的最新版本,并将其添加到您的 $PATH

在 Linux 上,您可能需要使用以下命令使共享库文件可执行

chmod +x stdrename

Cargo

使用 stdrenamecargo 安装

cargo install stdrename

可执行文件可以在 $HOME/.cargo/bin/stdrename 中找到。

要确保 $HOME/.cargo/bin 在您的 $PATH 中,请使用

export PATH="$HOME/.cargo/bin:$PATH"

用法

您必须使用适当的标志指定要使用的命名约定。例如,这将使用 kebab-case 命名约定重命名当前目录中的所有文件。

stdrename -k

以下是可用的完整命名约定标志列表

示例
-c --camel camelCase.txt
-k ——kebab kebab-case.txt
-p ——pascal PascalCase.txt
——screaming SCREAMING_SNAKE_CASE.txt
-S ——sentence Sentence case.txt
-s ——snake snake_case.txt
-T --title Title Case.txt
-t ——train Train-Case.txt

指定不同的文件夹进行解析

您也可以通过第二个参数指定不同的文件夹进行解析,例如:

stdrename -k ~/Pictures

也可以重命名子文件夹中的文件

要递归重命名,请使用标志 -r--recursive,例如:

stdrename -kr ~/Pictures

也可以重命名目录

要重命名目录,请使用标志 -D--dir,例如:

stdrename -kD ~/Pictures

忽略文件和子目录

默认情况下,如果目录是 Git 仓库,则 .gitignore 文件、全局 gitignore 文件和 git 排除文件中的模式也将被忽略。

您也可以在文件目录及其子目录中添加一个 .ignore 文件,包含要忽略的模式。

此文件可以使用在 .gitignore 文件中使用的任何 glob 模式。功能上相同,只是名称不同,例如:

在 stdrename 同一目录下新建一个 .ignore 文件并添加以下行将忽略所有扩展名为 .py 的文件以及重命名时所有子目录 ./target/ 中的文件。

# ./.ignore
# ignore all files ending with .py
# ignore all files in /target and its subdirectories

*.py
/target

您甚至可以在子目录中添加第二个 .ignore 文件,例如:

# ./subdir1/.ignore
# match .py files despite previous instructions
# ignore .txt files in this directory and all subdirectories

!*.py
*.txt

然后,该目录及其所有子目录将重新包含 .py 文件并忽略 .txt 文件。

如果您想使用特定于 stdrename 的全局忽略模式,您可以通过在以下位置创建一个 "ignore"(注意这个不以 "." 开头)来实现:

在 Windows 上: %USERPROFILE%\AppData\Local\stdrename\"

在基于 Unix 的系统(例如 MacOS 或 GNU Linux)上

$HOME/.config/stdrename/

此文件遵循与其他 .gitignore.ignore 文件相同的模式匹配原则,并且优先级低于所有其他忽略规则的来源。

文本模式

文本模式允许通过 stdin 管道传输,例如:

echo 'Hello World' | stdrename --text -k

或交互式使用,例如:

stdrename --text -s
reallyCreativeProgramName.js
really_creative_program_name.js
PYTHONISTA_BANANA.py
pythonista_banana.py
This is really just a normal sentence
this_is_really_just_a_normal_sentence

无论哪种方式,程序都会在遇到空行时终止并停止读取。

要抑制退出消息(例如将 stdout 管道传输到其他文件时),请添加 -q--quiet 标志。

许可协议

FOSSA Status

依赖项

~4.5–6MB
~102K SLoC