Для того, чтобы автоматически определить , в каком каталоге ваши данные пошли , и если вы используете Bash, сделать это: a=( /var/www/vhosts/website/httpdocs/magento/* ); echo "${a[${#a[@]}-1]}". Если не в Bash, это должно работать: printf '%s\n' /var/www/vhosts/website/httpdocs/magento/* | tail -1. Иначе, это очень вероятно в последнем каталоге, в алфавитном порядке. Выполнено.
gniourf_gniourf
Ответы:
20
Если в алфавитном порядке последняя запись в этом каталоге является самим каталогом, они есть.
Предположим , у вас есть файлы a, bа cи каталог d. В таком случае,
+1: посмотрите подкаталоги в / var / www / vhosts / website / httpdocs / magento / * dir. Подсказка: subdir по- прежнему находится в magento dir, так что это должно быть легко, так как почти все остальное теперь должно быть под ним, следовательно, должен быть только один dir (не считая тех, которые начинаются с '.'). Введите этот subdir и "mv * ..". Однако это может переместить вещи, которые ранее находились под этим каталогом, поэтому вам придется вернуть их обратно. + любой файл, имя которого совпадает с именем файла magento / *, будет перезаписан (если ваш mv не имеет псевдонима mv -i)
Оливье Дюлак
2
аккуратный трюк с mv *: mkdir zzz; mv *который переместит все содержимое текущего каталога в каталог zzz. Просто убедитесь, что у вас нет файлов, которые сортируются лексографически после zzz.
2
Чтобы расширить ответ glglgl:
Подстановочный знак командной строки в Unix-подобных операционных системах выполняется оболочкой. В большинстве случаев с Linux это было бы bash. На его странице руководства прямо указано, что расширение по шаблону будет отсортировано по алфавиту. То же самое должно быть справедливо для большинства Bourne-совместимых оболочек.
a=( /var/www/vhosts/website/httpdocs/magento/* ); echo "${a[${#a[@]}-1]}"
. Если не в Bash, это должно работать:printf '%s\n' /var/www/vhosts/website/httpdocs/magento/* | tail -1
. Иначе, это очень вероятно в последнем каталоге, в алфавитном порядке. Выполнено.Ответы:
Если в алфавитном порядке последняя запись в этом каталоге является самим каталогом, они есть.
Предположим , у вас есть файлы
a
,b
аc
и каталогd
. В таком случае,расширяется до
которая является командой для перемещения всего
d
. Посмотрите там, если есть что-нибудь.Если бы
d
не было справочника,mv
следовало бы пожаловаться на это.источник
mv *
:mkdir zzz; mv *
который переместит все содержимое текущего каталога в каталог zzz. Просто убедитесь, что у вас нет файлов, которые сортируются лексографически после zzz.Чтобы расширить ответ glglgl:
Подстановочный знак командной строки в Unix-подобных операционных системах выполняется оболочкой. В большинстве случаев с Linux это было бы
bash
. На его странице руководства прямо указано, что расширение по шаблону будет отсортировано по алфавиту. То же самое должно быть справедливо для большинства Bourne-совместимых оболочек.источник