Поскольку параметры старого стиля, такие как -5
, +5
, распознаются только как первый аргумент, вы можно сделать:
head()
case $1 in
([-+][0-9]*) command head "$@";;
(*) command head -n 15 "$@"
esac
Это повлияет на head
, вызываемые вашей текущей оболочкой.
Если вы хотите повлиять на все вызовы головы, вам нужно написать его как сценарий, который появляется первым в вашем $ PATH
:
mkdir -p ~/bin && cat > ~/bin/head << \EOF &&
#! /bin/sh -
case $1 in
([-+][0-9]*) ;;
(*) set -- -n 15 "$@"
esac
exec /usr/bin/head "$@"
EOF
chmod +x ~/bin/head
PATH=~/bin:$PATH export PATH
Вы можете использовать опцию exec
для find
, чтобы использовать внешнюю команду для обработки удаления, такую как rm -rf
.
Пример:
sudo find. -type d -name '__pycache__' -exec rm -rf "{}" \;
Обратите внимание, :{}
является заполнителем для пути к файлу, а \;
завершает команду exec
. Подробнее см. man 1 find
ты мог бы сделать
sudo find. -type d -name '__pycache__' -exec rm -rf {} \;
или работать с xargs
sudo find. -type d -name 'test' | sudo xargs rm -rf