Не мог скопировать ту предыдущую версию в более новую версию

Также можно использовать, находят для этого:

find /your/path -type f -exec grep -l 'page_path\\' {} \; -exec sed -i 's#page_path\\#page_path/#g' {} \;

Второе должностное лицо будет выполняться, только если первый был, успешно выполняются, и Вы не получите проблемы с непечатным или символами необходимости Escape в именах файлов.

0
15.05.2013, 01:44
2 ответа

Двоеточие прибывает из ls команда, если Вы заменяете этим с /bin/ls -d необходимо избавиться от них.

# in bash
shopt -s extglob
cd /oc/txa/db/
dirs=$(echo $(/bin/ls -d [1-9]*([0-9])_[0-9] | sort -rn | head -n 2))
# if there are no other files and directories you can use "ls |" in the line above
newer="${dirs% *}"
prior="${dirs#* }"
test -z "$newer" && exit 1
test -z "$prior" && exit 1
cp -p "${prior}/mit.sas" "$newer"/
1
28.01.2020, 02:53
  • 1
    • Вышеупомянутый код должен сделать это - Копия mit.sas от каталога предыдущей версии до более нового каталога версии./oc/txa/db/15_1 к/oc/txa/db/16_0. Здесь предыдущая версия = 15_1 Более новый version=16_0 –  jos 14.05.2013, 15:18
  • 2
    , я обновил ответ с полными изменениями для Вашего сценария –  Anthon 14.05.2013, 15:24
  • 3
    Супер Работа Anthon. Ваше Великое –  jos 14.05.2013, 15:31
# in bash
shopt -s extglob
cd /oc/txa/db/
dirs=$(ls -d [1-9]*([0-9])_[0-9] | sort -rn | head -n 2)
# if there are no other files and directories you can use "ls |" in the line above
newer="$(echo $dirs | head -n 1)"
prior="$(echo $dirs | tail -n 1)"
test -z "$newer" && exit 1
test -z "$prior" && exit 1
cp -p "${prior}/mit.sas" "$newer"/

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

0
28.01.2020, 02:53

Теги

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