Подстановка с отрицанием в ZSH

Учетная запись root по умолчанию использует tcsh, который использует псевдоним/команду «history»; Принимая во внимание, что sh используется по умолчанию для пользователей, если не указано иное. Фактический двоичный файл для команды истории для sh::

/usr/bin/fc 

с флагом -l, т.е.fc -l

Также см.man history

2
15.09.2019, 01:03
1 ответ
setopt extended_glob; ls -d -- **/(^*test).rb

или

setopt ksh_glob; ls -d -- **/!(*test).rb

Форма, отличная от вашей версии (*!(test).rb), также будет соответствовать foo-test.rb, поскольку *соответствует foo-testчасти имени файла, а отрицание !(test)соответствует пустой строке.


Форма "ksh -glob" также работает в bashсshopt -s globstar extglob:

#! /bin/bash
shopt -s globstar extglob
ls -d -- **/!(*test).rb

Обратите внимание, что в bash должен быть символ новой строки между shopt -s extglobи использованием расширенного шаблона, и они не могут быть частью одной и той же составной команды или функции.

2
27.01.2020, 22:08

Теги

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