Существует kludgey способ зафиксировать это. Исправлять поведение mv
, cp
, и mkdir
, добавьте это к своему .zshrc файлу:
alias mv='nocorrect mv'
alias cp='nocorrect cp'
alias mkdir='nocorrect mkdir'
Это не идеальная фиксация по нескольким причинам, не, наименьшее количество которого - то, что может быть несколько раз, когда Вы действительно хотите исправление орфографических ошибок для a mv
команда. Например, если Вы пытались выполниться:
mv directory_a/sub/sub/some_file directory_b/sub/sub/
но Вы написали один c орфографическими ошибками из каталогов и закончили тем, что ввели
mv directory_a/sub/sub/some_file directry_b/sub/sub/
исправление орфографических ошибок, возможно, было полезно. (Это - очевидно, изобретенный пример, но Вы понимаете.)
Выполненный touch empty
в каталоге.
find ... -execdir touch empty \;
touch empty
в каталоге, содержащем пустой каталог, не сам пустой каталог. Rick разобрался в нем в своем ответе.
– tralston
11.06.2015, 21:14
Обязательный 'можно сделать это с ударом' ответ:
shopt -s globstar nullglob
for f in ./**/; do [[ $(echo "$f"*) == '' ]] && touch "$f"empty; done
Globstar имеет в виду это **
расширяется в 'каждый файл в этом каталоге, рекурсивно'; **/
средства, которые это только развернет до каталогов, а не регулярных файлов (так как имена файлов не могут содержать наклонные черты вправо).
Nullglob подразумевает, что шарики, которые ничему не соответствуют, расширяются до nullbyte. Тест проверяет, происходит ли это (который означал бы, что нет ничего в каталоге); если тест оценивает к истинному (что означает, что нет ничего в каталоге), то это touch
es empty
в каталоге.
find . -type d -empty -execdir touch empty \;
– evilsoup 12.06.2013, 00:01