Подстановочный знак не имеет никакого отношения к grep
, все, что видит grep
- это то, что передается ему по трубопроводу. Подстановочный знак расширяется оболочкой, а список файлов, до которых он расширяется, передается в less
. Так что проблема не имеет никакого отношения к grep
.
Тем не менее, если вы ищете неработающие ссылки, вы можете сделать следующее:
for f in /Users/raine/.nvm/versions/node/v5.5.0/lib/node_modules/*; do
[ -e $(readlink -f "$f") ] || echo "$f";
done
Это позволит перебрать все файлы и каталоги в /Users/raine/.nvm/versions/node/v5.5.0/lib/node_modules/
, проверить, существует ли их цель (readlink
выведет имя файла, для которого был запущен iot, если этот файл не является ссылкой) и вывести имя, если нет.
Гораздо лучшее решение, о котором я только что узнал:
find /Users/raine/.nvm/versions/node/v5.5.0/lib/node_modules/ -xtype l
-xtype
будет проверять, является ли цель ссылки, в данном случае, ссылкой, так что это будет верно только для висячих ссылок.
Вы можете использовать ulimit. Это не совсем квота, но похоже.
предел -f 1000
ограничивает максимальный размер любого файла, созданного текущей оболочкой, или любых процессов, вызываемых текущей оболочкой, до 1000 килобайт каждый. Как я уже сказал, не квота, потому что процесс может просто записать кучу файлов в рамках лимита, если захочет, но, в зависимости от того, что вы пытаетесь сделать, он может служить.
В tcsh используется команда limit вместо ulimit и может использовать немного другой синтаксис.