find
очень полезно для того, чтобы выборочно выполнить действия с целым деревом.
find . -type f -name ".Apple*" -delete
Здесь, -type f
удостоверяется, что это - файл, не каталог, и не может быть точно, что Вы хотите, так как это также пропустит символьные ссылки, сокеты и другие вещи. Можно использовать ! -type d
, который буквально означает не каталоги, но затем Вы могли бы также удалить устройства посимвольного ввода-вывода и блочные устройства. Я предложил бы смотреть на -type
предикат на странице справочника для find
.
Чтобы сделать это строго с подстановочным знаком, Вам нужна усовершенствованная поддержка оболочки. Bash v4 имеет globstar
опция, которая позволяет Вам рекурсивно соответствовать использованию подкаталогов **
. zsh
и ksh
также поддерживайте этот шаблон. Используя это, можно сделать rm -rf **/.Apple*
. Это не стандартно POSIX, и не очень портативно, таким образом, я избегал бы использования его в сценарии, но для одноразового интерактивного действия оболочки, это прекрасно.
Я думаю, что Вы имеете (или Ваше распределение имеет), a LESSOPEN
фильтр, настроенный для less
. Попробуйте следующее для сообщения less
не использовать фильтр:
less -L my_binary_file
Для дальнейшего исследования также попробуйте echo $LESSOPEN
. Это, вероятно, содержит название сценария оболочки (/usr/bin/lesspipe
для меня), до которого можно читать, видят, какие фильтры там. Также попробуйте man less
, и считайте раздел Input Preprocessor.