Терминатор не работает!

cd принимает только один аргумент. Один из подходов - вместо этого cd в каждый каталог (с под-оболочкой, хотя в этом нет необходимости при условии , что все каталоги полностью квалифицированы (то есть каталоги не являются относительными ))

for d in /path/to/backups/*; do
  ( cd $d && rm -rf ./*(om[1,-11]) )
done

Другой подход состоит в том, чтобы просто удалить файлы напрямую (здесь с помощью отладочной print , чтобы сначала подтвердить, что правильные файлы были сопоставлены), поскольку в выражении можно указать несколько глобусов. Обратите внимание, что это сохраняет 10 файлов, тогда как решение на основе цикла хранит 10 файлов в каждом каталоге.

print -l /path/to/backups/pod*/*(Om[1,-11])

Однако это может привести к ограничению оболочки, если будет сопоставлено слишком много файлов, и в этом случае могут потребоваться xargs или ZSH zargs .

3
25.10.2015, 18:46
2 ответа

Вместо того, чтобы очищать Терминатор целиком, просто очистите его файл конфигурации и перезапустите. Это точно сработает.

sudo rm ~/.config/terminator/config
0
27.01.2020, 21:14

Вместо того, чтобы удалять Терминатор целиком, просто очистите его файл конфигурации и перезапустите. Этот хак у меня работает

sudo rm ~/.config/terminator/* -rfv
1
27.01.2020, 21:14

Теги

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