]>
cygwin.com Git - cygwin-apps/cygutils.git/blob - src/rename/rename.c
2 * rename.c - aeb 2000-01-01
4 --------------------------------------------------------------
6 if [ $# -le 2 ]; then echo call: rename from to files; exit; fi
11 for i in $@; do N=`echo "$i" | sed "s/$FROM/$TO/g"`; mv "$i" "$N"; done
12 --------------------------------------------------------------
13 * This shell script will do renames of files, but may fail
14 * in cases involving special characters. Here a C version.
25 #ifndef util_linux_version
26 #define util_linux_version "util-linux-2.11y"
29 static char *progname
;
32 do_rename(char *from
, char *to
, char *s
) {
33 char *newname
, *where
, *p
, *q
;
36 where
= strstr(s
, from
);
43 newname
= malloc(tlen
+slen
+1);
44 if (newname
== NULL
) {
45 fprintf(stderr
, _("%s: out of memory\n"), progname
);
61 if (rename(s
, newname
) != 0) {
63 fprintf(stderr
, _("%s: renaming %s to %s failed: %s\n"),
64 progname
, s
, newname
, strerror(errsv
));
72 main(int argc
, char **argv
) {
77 if ((p
= strrchr(progname
, '/')) != NULL
)
80 setlocale(LC_ALL
, "");
81 bindtextdomain(PACKAGE
, LOCALEDIR
);
85 if (!strcmp(argv
[1], "-V") || !strcmp(argv
[1], "--version")) {
86 printf(_("%s from %s\n"),
87 progname
, util_linux_version
);
93 fprintf(stderr
, _("call: %s from to files...\n"), progname
);
101 for (i
=3; i
<argc
; i
++)
102 ct
+= do_rename(from
, to
, argv
[i
]);
This page took 0.038698 seconds and 5 git commands to generate.