архивируйте-r v/s, архивируют-R

В моей системе Debian на сортирует задания к началу их выполнения, а не в порядке, в котором они были даны на на в:

$ for i in 10 20 30 40 50 60 70; do 
    at now + "$i" min < scripts/foo.sh; sleep 1; 
done
warning: commands will be executed using /bin/sh
job 8 at Sat Apr 18 15:31:00 2015
warning: commands will be executed using /bin/sh
job 9 at Sat Apr 18 15:41:00 2015
warning: commands will be executed using /bin/sh
job 10 at Sat Apr 18 15:51:00 2015
warning: commands will be executed using /bin/sh
job 11 at Sat Apr 18 16:01:00 2015
warning: commands will be executed using /bin/sh
job 12 at Sat Apr 18 16:12:00 2015
warning: commands will be executed using /bin/sh
job 13 at Sat Apr 18 16:22:00 2015
warning: commands will be executed using /bin/sh
job 14 at Sat Apr 18 16:32:00 2015

$ atq
9   Sat Apr 18 15:41:00 2015 a terdon
11  Sat Apr 18 16:01:00 2015 a terdon
10  Sat Apr 18 15:51:00 2015 a terdon
12  Sat Apr 18 16:12:00 2015 a terdon
8   Sat Apr 18 15:31:00 2015 a terdon
14  Sat Apr 18 16:32:00 2015 a terdon
13  Sat Apr 18 16:22:00 2015 a terdon

Как вы можете видеть, на будет нумеровать задания в порядке их выполнения, но atq перечисляет их в видимо случайном порядке.

  1. Для удаления первых 5 заданий, перечисленных в atq, можно сделать:

    atrm $(atq | head -5 | cut -f 1).
    
  2. Чтобы удалить первые 5 вакансий в порядке их запуска, сделайте:

    atrm $(atq | sort -n | head -5 | cut -f 1).
    
-4
04.08.2014, 16:20
3 ответа

Из того, что скорее всего находится в ваших man-страницах :

-r
--recurse-paths 
Travel the directory structure recursively

-R
--recurse-patterns 
Travel the directory structure recursively starting at the current directory

Свободно говоря, zip -r используется, когда вы хотите архивировать файлы под определенной директорией, и zip -R, когда вы хотите архивировать файлы под определенной директорией, и где эти файлы соответствуют шаблону, определенному после флага -R, как вы можете видеть в примерах, приведенных на этой странице. Также по умолчанию -R начинается в текущей директории.


Examples:

zip -r foo foo1 foo2
First zips up foo1 and then foo2, going down each directory.

zip -R foo "*.c"
In this case, all the files matching *.c in the tree starting at the current 
directory are stored into a zip archive named foo.zip. Note that *.c will 
match file.c, a/file.c and a/b/.c. More than one pattern can be listed as 
separate arguments.
4
28.01.2020, 05:19

Оба являются рекурсивными, это вы должны знать, но -R работает с шаблонами, а не с целыми деревьями. Например:

zip -R music "*.mp3"

Он будет из текущего каталога сопоставить все файлы, заканчивающиеся на .mp3 , и заархивировать их, сохраняя структуру:

➜  src  zip -R amr "*.css"
  adding: AMR/css/jquery.treeview.css (deflated 76%)
  adding: AMR/css/importexport.css (deflated 43%)
  adding: AMR/css/amr_style.css (deflated 82%)
  adding: AMR/css/backsite.css (deflated 49%)
➜  AMR git:(develop) ✗ zip -R amr "*.css"
  adding: css/jquery.treeview.css (deflated 76%)
  adding: css/importexport.css (deflated 43%)
  adding: css/amr_style.css (deflated 82%)
  adding: css/backsite.css (deflated 49%)

-r позволяет это, если вы используете его вместе с -i или -x .

4
28.01.2020, 05:19

zip -r ожидает путь (имя файла работает, но не добавляет -r )

zip -R ожидает шаблон.

Например, zip -r stuff.zip stuff * рекурсивно сжимает все каталоги, имена которых начинаются с stuff , начиная с текущего каталога. * расширяется оболочкой для всех файлов / каталогов, которые начинаются с материала . Если вы процитируете * , то zip просто найдет файл / каталог с именем stuff * и сожмет этот файл / папку, если он существует.

С другой стороны, zip -R stuff.zip "stuff *" сжимает все файлы в текущем каталоге, имена которых начинаются с stuff . Обратите внимание, что шаблон заключен в кавычки, чтобы оболочка не расширяла его. Если вы удалите кавычки, оболочка расширит его до того, как он дойдет до zip , и поэтому zip попытается найти и сжать файл с именем stuff .

Если у вас есть каталог с именем test в текущем рабочем каталоге, в котором есть файл с именем stuff.txt , то он будет добавлен в zip-архив во втором примере как имя файла соответствует шаблону независимо от имени содержащего каталога. Файл не будет выбран в первом примере, поскольку он сжимает только каталоги, которые начинаются с материала .

3
28.01.2020, 05:19

Теги

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