Можно переместить relpath в одну команду?

Лично, я просто стараюсь не определять псевдонимы с теми же именами как команды, таким образом, ls всегда вызывает фактическую команду. У меня есть псевдонимы или функции для различных комбинаций опций как l, ll, и lg. (Это означает, что мне нужно unalias ls в моем .bashrc или .cshrc.)

Я нахожу, что предположения ОС, о которых опциях я мог бы предпочесть (переопределение предположений о разработчиках ls сама команда), редко соответствуют моим собственным персональным вкусам. Мне, оказывается, не нравится вид ls --color=auto, и его четкость может варьироваться значительно между черным-на-белом и белым-на-черном цветом.

YMMV и другие решения, конечно, все еще хороши для знания.

1
13.04.2017, 15:37
1 ответ

Rsync мог сделать это:

rsync -R --remove-source-files a/b/c/d /TARGETDIR/

Но строго говоря это - больше копия, чем переименовывание.

функция проста:

mkmv() {
  mkdir -p -- "$2/$(dirname -- $1)" && mv -- "$1" "$2/$1"
}

и вероятно более эффективно (хотя rsync имеет еще несколько опций, которые позволяют Вам копировать полномочия или другие атрибуты файлов или каталогов).

1
27.01.2020, 23:54

Теги

Похожие вопросы