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 在 命令行工具
21KB
285 行
stdrename
这个小型工具旨在根据指定的命名约定(camelCase、snake_case、kebab-case 等)重命名文件夹中的所有文件。
它目前支持以下命名约定
- camelCase
- kebab-case
- PascalCase
- SCREAMING_SNAKE_CASE
- Sentence case
- snake_case
- Title Case
- Train-Case
安装
手册
下载适用于您操作系统(Linux 的共享库和 Windows 的 .exe)的最新版本,并将其添加到您的 $PATH
。
在 Linux 上,您可能需要使用以下命令使共享库文件可执行
chmod +x stdrename
Cargo
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
标志。
许可协议
依赖项
~4.5–6MB
~102K SLoC