initial commit
This commit is contained in:
80
filla.nu
Executable file
80
filla.nu
Executable 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)'"
|
||||
}
|
||||
)
|
||||
}
|
||||
Reference in New Issue
Block a user