Как написать сценарий для перемещения файлов с определенным именем из папки «A» в папку «B» на моем диске Google ?

Я нашел решение, используя функцию awk GNU match:

cat foos | \
  gawk 'match($0, /([^0-9]+)([0-9]+)([^0-9]+)/, a) {print a[3], a[2], $0}' | \
  sort | cut -d' ' -f3

Команда gawk использует regex-захваты для генерации ключа сортировки, так что в итоге я получаю следующее:

a 03 foo03a
b 02 foo02b

...и т.д.

Прогоняем это через sort, cut для нужных мне полей. Готово.

2
09.05.2019, 10:07
1 ответ

Если у вас есть такой каталог:

.
├── X.1
├── X.2
├── X.3
├── Y.1
├── Y.2
└── Z.1

, затем

mkdir A
mv *X* A

(*X*означает каждый файл или папку, содержащие X в своем имени)

приводит к

.
├── A
│   ├── X.1
│   ├── X.2
│   └── X.3
├── Y.1
├── Y.2
└── Z.1
1
27.01.2020, 22:17

Теги

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