замена имени файла & mdash; есть ли что-то, чтобы убедиться, что это не определенные буквы?

3T MongoChef - это многоплатформенный графический интерфейс для MongoDB и работает также на Ubuntu. Это коммерческий инструмент, но он бесплатный для личного и некоммерческого использования.

Он имеет множество полезных функций, например. редактирование данных на месте или построитель запросов поиска перетаскивания (www.3t.io/mongochef/mongochef-whats-new).

1
задан 29 September 2013 в 04:50

2 ответа

Если включено расширенное расширение бэша, вы можете инвертировать совпадения с помощью! (pattern), например. если

$ touch aQq qwerty uiop asdfg bnmq
$ 
$ ls
aQq  asdfg  bnmq  qwerty  uiop

, тогда

$ ls !(*[qQ]*)
asdfg  uiop

, тогда как

$ ls *[qQ]*
aQq  bnmq  qwerty

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

0
ответ дан 24 May 2018 в 17:28

Почему бы просто

ls | grep -v [qQ]

Если вместо одиночных символов вы хотите исключить имена файлов, содержащие определенные строки символов, вы можете сделать это с помощью

ls | grep -v "str1\|str2\|..."

i.e. разделяя любую строку с escaped char char | (который действует как логический оператор «OR»). Не забудьте заключить его в двойные кавычки, чтобы предотвратить неправильное толкование специальных символов.

0
ответ дан 24 May 2018 в 17:28

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

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