Как переместить все файлы из одной папки в подпапку, кроме файла .html, используя командную строку?

Использование iostat из пакета sysstat обеспечивает единый снимок результатов с момента запуска. Использование параметра интервала добавит результаты только для последнего интервала к выходу. Например, iostat 10 сначала отображает значения «начиная с загрузки», а затем добавляет последние 10 секунд статистики к выходу каждые 10 секунд. Включите опцию -y, чтобы опустить первый показ статистики с момента загрузки, но поймите, что команда будет отсутствовать в течение указанного интервала, пока система будет собирать первый снимок.

Я нашел это наиболее эффективным, когда в сочетании с командой watch и указывая только на сбор за один интервал статистики. Например: watch -t -n 0.1 iostat -d -t -y 5 1 дает обновление каждые 5,1 секунды статистики активности за последние 5 секунд. Чтобы разбить параметры и параметры ...

Первый -t указывает, чтобы опустить заголовок. Это делается для того, чтобы избежать путаницы в том, что в противном случае заголовок будет включать «Every 0,1s», который не представляет моментальный снимок данных. [F8] сообщает секундомеру, чтобы выполнить следующую команду каждые 0,1 секунды. Это самый маленький интервал для часов (procps-ng 3.3.9), но не беспокойтесь, он фактически не запускает команду каждые 0,1 секунды. Он выполнит команду 0,1 секунды после завершения предыдущего экземпляра. [F9] сообщает iostat только отображать использование устройства, что важно, поскольку вопрос касался активности диска. В качестве альтернативы для мониторинга конкретного диска имя устройства можно было вставить до параметров интервала. Второй переключатель -t сообщает iostat включать время обновления в статистику. Это полезно, поскольку более раннее упущение заголовка часов удалило отображение времени, которое было бы там. Переключатель -y пропускает первый экран статистики «с момента загрузки» на дисплее интервала. Без этого результатом будет отображение статистики с момента загрузки с интервалом команды watch. [F12] - параметры интервала иостата. В этом случае захватите 5 секунд статистики один раз (1). Поскольку был использован ключ -y, будет представлен только один экран данных.

Для сбора данных iostat потребуется 5 секунд, затем он будет отображаться на часах, а через 0,1 секунды часы снова запустит команду iostat. Через 5 секунд новые данные заменят старые, часы будут ждать 0,1 секунды, стирать, полоскать, повторять ...

1
задан 15 July 2020 в 16:41

2 ответа

Текущий каталог:

$ ls -F
1   12  15  18  20  23  26  29  31  34  37  4   42  45  48  50  8       b.html  foldera/  folderd/
10  13  16  19  21  24  27  3   32  35  38  40  43  46  49  6   9       c.html  folderb/  foldere/
11  14  17  2   22  25  28  30  33  36  39  41  44  47  5   7   a.html  d.html  folderc/  moveHere/

Временное включение оболочки extglob и отключение подстановки истории:

$ shopt -s extglob; set +H

Чтобы переместить все в каталог с именем «moveHere», исключая html files:

$ mv !(*.html|moveHere) moveHere/

Текущий каталог после перемещения файлов:

$ ls
a.html  b.html  c.html  d.html  moveHere

Проверьте новый каталог:

$ ls moveHere/
1   12  15  18  20  23  26  29  31  34  37  4   42  45  48  50  8        folderb  foldere
10  13  16  19  21  24  27  3   32  35  38  40  43  46  49  6   9        folderc
11  14  17  2   22  25  28  30  33  36  39  41  44  47  5   7   foldera  folderd
1
ответ дан 30 July 2020 в 22:07

Вы можете использовать find с -not -name "..." и -exec mv :

find . -maxedpth 1 \
  -not -name "subfolder" \
  -not -name "*.html" \
  -exec mv -t subfolder {} + \;
0
ответ дан 30 July 2020 в 22:07

Другие вопросы по тегам:

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