Невозможно установить переименование Linux на Mac - PullRequest
0 голосов
/ 27 мая 2009

Я прочитал учебник , который советует мне запустить пакет util-linux

./configure

Я получаю

configuring util-linux-2.12q

You don't have <scsi/scsi.h>
You don't have <linux/blkpg.h>
You don't have <linux/kd.h>
You have <locale.h>You have <langinfo.h>
You have <sys/user.h>
You have <uuid/uuid.h>
You have <rpcsvc/nfs_prot.h>
You don't have <asm/types.h>
You don't have <linux/raw.h>
You have <stdint.h>
You don't have <sys/io.h>
You have inet_aton()
You have fsync()
You have getdomainname()
You have nanosleep()
You don't have personality()
You don't have updwtmp()
You have fseeko()
You have lchown()
You don't have rpmatch()
You have <term.h>
You have ncurses. Using <ncurses.h>.
You have termcap
You don't need -lcrypt
Strange... Static compilation fails here.
You don't have native language support
You have __progname
You don't have <pty.h> and openpty()
You have wide character support
You don't have SYS_pivot_root
You have a tm_gmtoff field in struct tm
Your rpcgen output does not compile - using pregenerated code
You have zlib
You don't have blkid

Затем он советует мне выполнить следующую команду в misc-utils

make rename 

Я получаю следующее предупреждение

cc -pipe -O2 -mtune=i386 -fomit-frame-pointer -I../lib -Wall -Wmissing-prototypes -Wstrict-prototypes -DNCH=1   -D_FILE_OFFSET_BITS=64 -DSBINDIR=\"/sbin\" -DUSRSBINDIR=\"/usr/sbin\" -DLOGDIR=\"/var/log\" -DVARPATH=\"/var\" -DLOCALEDIR=\"/usr/share/locale\" -O2  -s  rename.c   -o rename
ld warning: option -s is obsolete and being ignored

Как установить команду переименования для Mac?

Ответы [ 5 ]

3 голосов
/ 27 мая 2009

Это предупреждение, а не ошибка.

Я только что попробовал это сам, и он создал исполняемый файл с переименованием.

1 голос
/ 10 апреля 2013

Легко установить переименование, используя Homebrew

brew install rename
1 голос
/ 28 февраля 2013

Do compile rename из linux. В указаниях есть некоторые незначительные отличия. Я использовал версию 2.22 из файла util-linux-2.22.tar.gz

Загрузите и распакуйте. Перейдите в несжатую папку в терминале.

Не просто запустите ./configure, используйте вместо этого эту команду с флагами:

./configure --disable-su --disable-sulogin --disable-login

затем из той же самой папки, НЕ превращаясь в misc-utils, вы делаете make rename

Вот и все, в текущей папке у вас будет исполняемый файл, а в misc-utils - документация man, если вам это нужно.

0 голосов
/ 11 февраля 2010

Попробуйте это:

function rename { from=$1; to=$2; shift 2; for i in "$@"; do j=`echo $i | sed "s/$from/$to/"`; mv "$i" "$j"; done }

Вставьте его в свой .profile или .bashrc и запустите его так же, как утилиту переименования Red Hat:

$rename foo bar *.txt

Превращает foo1.txt, foo2.txt и foofoo.txt в bar1.txt, bar2.txt, но, что несколько раздражает, barfoo.txt.
Может быть, кто-то может настроить это, чтобы исправить это.

Проверьте это, поставив 'echo' перед 'mv', чтобы он выводил список всех изменений, которые он внесет, не внося их.

0 голосов
/ 27 мая 2009

Разве вы не можете просто использовать mv вместо попытки скомпилировать rename? Может быть, даже псевдоним это rename?

(РЕДАКТИРОВАТЬ: игнорировать мой комментарий об основах сборки - , как указал yangyang , похоже, что в любом случае он должен был сработать нормально)

...