Могу ли я использовать сжатие lzma без использования tar в OSX 10.10.3?

Лучше всего использовать zsh zmv :

autoload zmv # best in ~/.zshrc
zmv -n '(*)/index' '$1/C2_$1'

(удалите -n , когда все в порядке).

Для переносимого ( POSIX sh ) решения:

for dir in */index;  do
  mv -i -- "$dir" "${dir%/*}/C2_${dir%/*}"
done

(с использованием -i в качестве эрзаца для бедняков для проверки работоспособности zmv делает).

Если вы хотите использовать find переносимо (POSIXly), вам нужно забыть о -mindepth / -maxdepth , который можно заменить на комбинации -path и -prune :

LC_ALL=C find . -path './*/*' -prune -name index -exec sh -c '
  for dir do
    top=${dir#./}
    top=${top%/*}
    mv -i -- "$dir" "$top/C2_$top"
  done' sh {} +

Одно отличие от двух других подходов состоит в том, что он не будет следовать символическим ссылкам и также будет искать index в скрытых каталогах.

Они используют стандартные операторы расширения параметров $ {var # pattern} , $ {var% pattern} , описанные в бесчисленных вопросах и ответах здесь или в оболочке POSIX. спецификация .

0
13.04.2019, 18:23
0 ответов

Теги

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