LINUX.ORG.RU

Не получается:

Ты что во что превратить хочешь? Например:

sample000.dat -> test000.dat
Deleted ()
Ответ на: комментарий от ados

xx-h.dat -> xx.dat

Вырезать -h независимо от того, где находится:

rename -v 's/-h//' *.dat

Вырезать -h зависимо от того, где находится:

rename -v 's/-h\.dat$/.dat/' *.dat

Deleted ()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от Deleted
$ ls
xx-h.dat  xx-substr-h.dat  xx-wide-h.dat  xz-h.dat  xz-substr-h.dat  zx-h.dat  zx-substr-h.dat  zz-h.dat  zz-substr-h.dat
$ rename -v 's/-h\.dat/.dat/' *.dat
$ ls
xx-h.dat  xx-substr-h.dat  xx-wide-h.dat  xz-h.dat  xz-substr-h.dat  zx-h.dat  zx-substr-h.dat  zz-h.dat  zz-substr-h.dat
$
ados ★★★★★ ()
Ответ на: комментарий от ados

rename -v 's/-h\.dat/.dat/' *.dat

$ touch xx-h.dat  xx-substr-h.dat  xx-wide-h.dat  xz-h.dat  xz-substr-h.dat  zx-h.dat  zx-substr-h.dat  zz-h.dat
$ rename -v 's/-h\.dat$/.dat/' *.dat
xx-h.dat renamed as xx.dat
xx-substr-h.dat renamed as xx-substr.dat
xx-wide-h.dat renamed as xx-wide.dat
xz-h.dat renamed as xz.dat
xz-substr-h.dat renamed as xz-substr.dat
zx-h.dat renamed as zx.dat
zx-substr-h.dat renamed as zx-substr.dat
zz-h.dat renamed as zz.dat
$ ls
xx.dat  xx-substr.dat  xx-wide.dat  xz.dat  xz-substr.dat  zx.dat  zx-substr.dat  zz.dat
Deleted ()
Ответ на: комментарий от Deleted

Чёрт знает что. Не пашет.

$ touch xx-h.dat  xx-substr-h.dat  xx-wide-h.dat  xz-h.dat  xz-substr-h.dat  zx-h.dat  zx-substr-h.dat  zz-h.dat
$ rename -v 's/-h\.dat$/.dat/' *.dat
$ ls
xx-h.dat         xx-wide-h.dat  xz-substr-h.dat  zx-substr-h.dat
xx-substr-h.dat  xz-h.dat       zx-h.dat         zz-h.dat
$
ados ★★★★★ ()
Ответ на: комментарий от gremlin_the_red

Потому что у него rename из util-linux, а у тебя perl-rename.

Думаешь?

$ apt-file search /bin/rename
ladr4-apps: /usr/bin/renamer
util-linux: /usr/bin/rename.ul
$ dpkg -l ladr4-apps
dpkg-query: шаблону ladr4-apps не соответствует ни один пакет
$ dpkg -l util-linux
...
ii  util-linux
$ dpkg -l perl-rename
dpkg-query: шаблону perl-rename не соответствует ни один пакет
Deleted ()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от gremlin_the_red

Намёк понятен?

Более чем. Забываю иногда про alternatives. Всё верно, у меня пользуется prename.

Deleted ()
Ответ на: комментарий от ados

rename -v 's/-h\.dat$/.dat/' *.dat

Прийдётся делать «финт ушами»:

$ touch xx-h.dat  xx-substr-h.dat  xx-wide-h.dat  xz-h.dat  xz-substr-h.dat  zx-h.dat  zx-substr-h.dat  zz-h.dat

$ rename.ul -v "-" , *.dat
`xx-h.dat' -> `xx,h.dat'
`xx-substr-h.dat' -> `xx,substr-h.dat'
`xx-wide-h.dat' -> `xx,wide-h.dat'
`xz-h.dat' -> `xz,h.dat'
`xz-substr-h.dat' -> `xz,substr-h.dat'
`zx-h.dat' -> `zx,h.dat'
`zx-substr-h.dat' -> `zx,substr-h.dat'
`zz-h.dat' -> `zz,h.dat'

$ rename.ul -v "-" , *.dat
`xx,substr-h.dat' -> `xx,substr,h.dat'
`xx,wide-h.dat' -> `xx,wide,h.dat'
`xz,substr-h.dat' -> `xz,substr,h.dat'
`zx,substr-h.dat' -> `zx,substr,h.dat'

$ rename.ul -v ",h.dat" .dat *.dat
`xx,h.dat' -> `xx.dat'
`xx,substr,h.dat' -> `xx,substr.dat'
`xx,wide,h.dat' -> `xx,wide.dat'
`xz,h.dat' -> `xz.dat'
`xz,substr,h.dat' -> `xz,substr.dat'
`zx,h.dat' -> `zx.dat'
`zx,substr,h.dat' -> `zx,substr.dat'
`zz,h.dat' -> `zz.dat'

$ rename.ul -v , "-" *.dat
`xx,substr.dat' -> `xx-substr.dat'
`xx,wide.dat' -> `xx-wide.dat'
`xz,substr.dat' -> `xz-substr.dat'
`zx,substr.dat' -> `zx-substr.dat'
Deleted ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.