]> git.ipfire.org Git - thirdparty/util-linux.git/blob - misc-utils/rename.1
Manual pages: order NOTES / HISTORY / BUGS / EXAMPLE consistently
[thirdparty/util-linux.git] / misc-utils / rename.1
1 .\" Written by Andries E. Brouwer (aeb@cwi.nl)
2 .\" Placed in the public domain
3 .\"
4 .TH RENAME 1 "June 2011" "util-linux" "User Commands"
5 .SH NAME
6 rename \- rename files
7 .SH SYNOPSIS
8 .B rename
9 [options]
10 .IR "expression replacement file" ...
11 .SH DESCRIPTION
12 .B rename
13 will rename the specified files by replacing the first occurrence of
14 .I expression
15 in their name by
16 .IR replacement .
17 .SH OPTIONS
18 .TP
19 .BR \-s , " \-\-symlink"
20 Do not rename a symlink but its target.
21 .TP
22 .BR \-v , " \-\-verbose"
23 Show which files were renamed, if any.
24 .TP
25 .BR \-n , " \-\-no\-act"
26 Do not make any changes; add
27 .B \-\-verbose
28 to see what would be made.
29 .TP
30 .BR \-o , " \-\-no\-overwrite"
31 Do not overwrite existing files. When
32 .B \-\-symlink
33 is active, do not overwrite symlinks pointing to existing targets.
34 .TP
35 .BR \-i , " \-\-interactive"
36 Ask before overwriting existing files.
37 .TP
38 .BR \-V , " \-\-version"
39 Display version information and exit.
40 .TP
41 .BR \-h , " \-\-help"
42 Display help text and exit.
43 .SH WARNING
44 The renaming has no safeguards by default or without any one of the options
45 .B \-\-no-overwrite\fR,
46 .B \-\-interactive
47 or
48 .B \-\-no\-act\fR.
49 If the user has
50 permission to rewrite file names, the command will perform the action without
51 any questions. For example, the result can be quite drastic when the command
52 is run as root in the /lib directory. Always make a backup before running the
53 command, unless you truly know what you are doing.
54 .SH INTERACTIVE MODE
55 As most standard utilities rename can be used with a terminal device (tty in
56 short) in canonical mode, where the line is buffered by the tty and you press
57 ENTER to validate the user input. If you put your tty in cbreak mode however,
58 rename requires only a single key press to answer the prompt. To set cbreak
59 mode, run for example:
60 .RS
61 .PP
62 .nf
63 sh \-c 'stty \-icanon min 1; "$0" "$@"; stty icanon' rename \-i from to files
64 .fi
65 .PP
66 .RE
67 .SH EXIT STATUS
68 .RS
69 .PD 0
70 .TP
71 .B 0
72 all requested rename operations were successful
73 .TP
74 .B 1
75 all rename operations failed
76 .TP
77 .B 2
78 some rename operations failed
79 .TP
80 .B 4
81 nothing was renamed
82 .TP
83 .B 64
84 unanticipated error occurred
85 .PD
86 .RE
87 .SH EXAMPLE
88 Given the files
89 .IR foo1 ", ..., " foo9 ", " foo10 ", ..., " foo278 ,
90 the commands
91 .RS
92 .PP
93 .nf
94 rename foo foo00 foo?
95 rename foo foo0 foo??
96 .fi
97 .PP
98 .RE
99 will turn them into
100 .IR foo001 ", ..., " foo009 ", " foo010 ", ..., " foo278 .
101 And
102 .RS
103 .PP
104 .nf
105 rename .htm .html *.htm
106 .fi
107 .PP
108 .RE
109 will fix the extension of your html files.
110 Provide an empty string for shortening:
111 .RS
112 .PP
113 .nf
114 rename '_with_long_name' '' file_with_long_name.*
115 .fi
116 .PP
117 .RE
118 will remove the substring in the filenames.
119 .SH SEE ALSO
120 .BR mv (1)
121 .SH AVAILABILITY
122 The rename command is part of the util-linux package and is available from
123 https://www.kernel.org/pub/linux/utils/util-linux/.