Различать только слова в файлах

Собственная утилита cpAIX, как вы заметили, не включает опцию --parent.

Одним из вариантов может быть установка и использование rsync из набора программного обеспечения AIX Toolbox for Linux Applications . Вам также необходимо установить popt RPM (в качестве зависимости от rsync ).

Тогда можно было бежать:

rsync -R /some/path/to/file /newdir/

Чтобы получить /newdir/some/path/to/file.


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

relcp() {
  typeset -a sources=()
  [ "$#" -lt 2 ] && return 1
  while [ "$#" -gt 1 ]
  do
    sources+=("$1")
    shift
  done
  destination=$1

  for s in "${sources[@]}"
  do
    if [ -d "$s" ]
    then
        printf "relcp: omitting directory '%s'\n" "$s"
        continue
    fi

    sdir=$(dirname "$s")
    if [ "$sdir" != "." ] && [ ! -d "$destination/$sdir" ]
    then
      mkdir -p "$destination/$sdir"
    fi
    cp "$s" "$destination/$sdir"
  done

  unset sources s sdir
}

2
29.05.2020, 18:55
0 ответов

Теги

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