initial commit

This commit is contained in:
Thelonius Kort
2026-06-13 21:54:55 +02:00
commit 3dc83999e4

80
filla.nu Executable file
View File

@ -0,0 +1,80 @@
#!/bin/env nu
def main [] {}
def "main test" [search replace ...paths] {
print $"search: ($search) replace: ($replace)"
($paths |
each {|f|
let name = $f | path basename
let newname = $name | str replace -r $search $replace
print $"rename: '($name)' to: '($newname)'"
}
)
}
def "main rename" [search replace ...paths] {
($paths |
each {|f|
let folder = $f | path dirname
let name = $f | path basename
let newname = $name | str replace -r $search $replace
mv ($folder | path join $name) ($folder | path join $newname)
}
)
}
def "main number" [...paths] {
let files = $paths | sort | enumerate
let digits = ($files | length | math log 10 | math floor) + 1
($files |
each {|f|
let folder = $f.item | path dirname
let name = $f.item | path basename
let number = $f.index + 1 | fill -a right -c '0' -w $digits
let newname = $number + '-' + $name
mv ($folder | path join $name) ($folder | path join $newname)
}
)
}
def "main folnum_test" [...paths] {
($paths |
each {|f|
let folder = $f | path dirname
let foldernum = $folder | path basename | str replace -r '^\D*(\d+)\D*$' '$1'
let name = $f | path basename
let newname = $foldernum + '-' + $name
print $"rename: '($name)' to: '($newname)'"
}
)
}