Если можно использовать Compiz, существует эта вещь под названием Сетка (если я помню имя правильно). Я не уверен, имеет ли xfwm что-то вроде этого, Вы могли бы проверить его.
Также я настоятельно рекомендовал бы испытать различные парадигмы WM, если они могли бы больше соответствовать, т.е. не опускают размещать WMs рядом просто, потому что они не распространены.
Если Вы настаиваете на способности разместить окна рядом, не изменяя Ваш WM, существуют отдельные (сторонние) утилиты, чтобы сделать это. Один список в Википедии: https://en.wikipedia.org/wiki/Tiling_window_manager#Third_party_tiling_applications_on_Xorg
Просто:
find . ! -name '*2013*'
Добавьте a ! -type d
также исключить файлы каталога типа (как .
самостоятельно), или -type f
включать только регулярные файлы, исключая все другие типы файлов (каталоги, fifos, символьные ссылки, устройства, снабжают сокетом...).
Остерегайтесь однако этого *
соответствует последовательности 0 или больше символов. Таким образом, это могло сообщить об именах файлов, которые содержат 2013
если это 2013
предшествовался или сопровождался чем-то, что не может полностью декодироваться как допустимые символы в текущей локали.
Это может произойти, если Вы находитесь в локали, где символы могут быть закодированы больше чем на одном байте (как в UTF-8) для имен файлов, которые кодируются в другом кодировании. Например, в локали UTF-8, это было бы отчет a Stéphane2013
файл, если это é
был закодирован в iso8859-15 наборе символов (как 0xe9 байт).
Лучше всего должен был бы удостовериться, что имена файлов кодируются в наборе символов локали, но если Вы не можете гарантировать это, работа вокруг должна работать find
в локали C:
LC_ALL=C find . ! -name '*2013*'
Шаблоны имени файла Ksh достаточны:
# files with 2013
ls -d -- *2013*
# files without 2013
ls -d -- !(*2013*)
Если Ваша оболочка является ударом, необходимо работать shopt -s extglob
прежде чем можно будет использовать этот шаблон (можно вставить его Ваш .bashrc
). Если Ваша оболочка является zsh, необходимо работать setopt ksh_glob
(можно вставить его Ваш .zshrc
). Zsh также предлагает ls -d -- ^*2013*
, который требует предварительного мероприятия setopt extended_glob
.
В зависимости от того, что Вы делаете с этими именами файлов, ls
может не быть правильная команда для использования. Сохранить их в массиве
filenames=( !(*2013*) )
for f in "${filenames[@]}"; do ...; done
ls
возвратит сообщение об ошибке, если шаблон не будет соответствовать никакому файлу). Также отметьте это ksh
отсортирует список.
– Stéphane Chazelas
26.11.2013, 13:54
Найти все файлы в текущем каталоге, которые не содержат определенной строки, здесь «2013»:
find . ! -name "*2013*" -type f