Add a script changing file extensions

This commit is contained in:
Eugen Wissner 2025-02-21 11:21:35 +01:00
parent 06fa97bfcf
commit a4c56fb432
Signed by: belka
GPG Key ID: A27FDC1E8EE902C0
4 changed files with 40 additions and 1 deletions

2
.gitignore vendored
View File

@ -1,4 +1,4 @@
/dist-newstyle/ /dist-newstyle/
/config.toml /config/tea-cleaner.toml
/log/ /log/
/tmp/ /tmp/

View File

@ -57,4 +57,10 @@ script should work on Mac OS with preinstalled GNU tools and case-sensitive file
system and Linux. The resulting GCC is to be found in system and Linux. The resulting GCC is to be found in
`./tmp/rootfs/bin/riscv32-unknown-linux-gnu-*`. `./tmp/rootfs/bin/riscv32-unknown-linux-gnu-*`.
## rename.rb
Changes the extension of all files matching a pattern in the given directory.
Call the `rename.rb` without arguments to see the usage information and an
example.
## tea-cleaner ## tea-cleaner

29
bin/rename.rb Executable file
View File

@ -0,0 +1,29 @@
#!/usr/bin/env ruby
# This Source Code Form is subject to the terms of the Mozilla Public License,
# v. 2.0. If a copy of the MPL was not distributed with this file, You can
# obtain one at https://mozilla.org/MPL/2.0/. -}
# frozen_string_literal: true
require 'fileutils'
if ARGV.length == 3
Dir.glob("#{ARGV[0]}/**/*.#{ARGV[1]}").each do |original|
new_name = original.sub /\.#{Regexp.escape(ARGV[1])}$/, ARGV[2]
puts "Renaming #{original} to #{new_name}."
FileUtils.mv original, new_name
end
else
$stderr.puts <<~USAGE
Usage:
#{$0} directory old_extension new_extension
The directory is searched recursively.
The old and new extensions should not begin with a dot (.).
Example: #{$0} src ce.vue vue
Changes the extensions of all files matching src/**/*.ce.vue to .vue.
USAGE
exit 1
end

View File

@ -0,0 +1,4 @@
# Gitea access token. The token should have permissions to manage users.
token = ""
# The gitea instance URL beginning wth "https://".
server = "https://"