Сzsh
:
for f (**/*(D.)) : > $f
.
сделать это только для обычных файлов, D
включить скрытые файлы и файлы в скрытых каталогах.
Для небольшого количества файлов вы можете сократить его до :>**/*(D.)
.
Чтобы сохранить одинаковый размер файлов, но сделать их разреженными без данных (, чтобы они не занимали места на диске, за исключением файловой системы Apple HFS+, которая не поддерживает разреженные файлы):
find. -type f -exec perl -e '
for (@ARGV) {
unless (open F, "+<", $_) {warn "open $_: $!"; next}
unless (seek F, 0, 2) {warn "seek $_: $!"; next}
$size = tell F;
unless (truncate F, 0) {warn "zap $_: $!"; next}
unless (truncate F, $size) {warn "fill $_: $!"; next}
}' {} +
Обратите внимание, что все они будут обновлять время последней модификации файлов.
bash -ic 'some bash command'
будет работать some bash command
в оболочке bash, которая инициализируется аналогично интерактивной оболочке (, включая загрузку ~/.bashrc
и разрешение расширения псевдонимов ).
Пр.
% echo $0
zsh
% type ls
ls is /bin/ls
% bash -ic 'type ls'
ls is aliased to `ls --color=auto'