blob: b59780fd927effc6d852f763ae06615583cc8d05 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
|
#+TITLE: unixize
*unixize* is a small tool to bulk rename files into a cool UNIX-friendly
standard. Basically, everything becomes lowercase and there is no need to
escape characters anymore when entering your filenames in a terminal. It
also removes unicode characters.
*unixize* is configurable through options. Refer to
#+BEGIN_SRC shell
man unixize
#+END_SRC
to get a list of options.
* Dependencies
- A C compiler
- GNU Make
* Installation
You can get *unixize* either through ~git~ or ~fossil~.
For ~fossil~ use:
#+BEGIN_SRC shell
mkdir unixize
cd unixize
fossil clone https://chiselapp.com/user/JozanLeClerc/repository/unixize unixize.fossil
fossil open --force unixize.fossil
#+END_SRC
or for ~git~:
#+BEGIN_SRC shell
git clone git://jozanleclerc.xyz/jozan/unixize.git
cd unixize
#+END_SRC
Then build the program:
#+BEGIN_SRC shell
make
sudo make install clean
#+END_SRC
Note that on BSD systems you want to use ~gmake~ instead of ~make~:
#+BEGIN_SRC shell
gmake
sudo gmake install clean
#+END_SRC
* Usage
*USE WITH CAUTION!*
Without the ~-p~ option, *unixize* will commit to do exactly
what it's supposed to do, rename all the badly formatted files in the chosen
directory. To deunixize your files, you'll have to rename everything
manually.
Example of usage:
#+BEGIN_SRC shell
cd messy_directory
unixize -R .
tree
.
├── Sub directory
│ ├── 01. IMG.JPG
│ ├── archive.tar.xz
│ └── zxc*:()ASD.qWe
├── a file
├── Bad-file.mkv
├── good_file
├── README
└── ‡‡‡‡song‡‡‡‡.mp3
unixize -R .
tree
.
├── sub_directory
│ ├── 01_img.jpg
│ ├── archive.tar.xz
│ └── zxcasd.qwe
├── a_file
├── bad_file.mkv
├── good_file
├── readme
└── song.mp3
#+END_SRC
* End note
Despite being single-threaded, *unixize* performs well. Used on my whole music
directory (14943 files and directories) on FreeBSD with UFS, the operation took
less than one second.
Please note that unixize was tested only on FreeBSD at the moment.
Linux and macOS tests are coming soon. You can report bug on
[[https://github.com/JozanLeClerc/unixize/issues][GitHub]] or on
[[https://chiselapp.com/user/JozanLeClerc/repository/unixize/ticket][Chisel]].
Thanks for checking *unixize*.
|