Простой и очевидный ответ:
- color = auto
вместо
Используйте дополнительную команду grep в конце конвейера только для того, чтобы раскрасить результаты, которые вы хотите раскрасить, например:
grep --include = *. Cpp -Ern. -e "(foo | bar)" | grep -v colorbar | grep -E -e "(foo | bar)"
Однако это не так красиво окрасит ваши имена и номера файлов.
Другое возможное решение гораздо сложнее, но все же стоит упомянуть: вы можете использовать pcregrep
и одно более интересное регулярное выражение для обработки всей вашей фильтрации в одном регулярном выражении.
Ваш режим umask
неверен.
# umask 644
# touch test1
# stat -c "%a %n" test1
22 test1
Чтобы получить результирующие файлы с 644
, вам нужно установить umask 0022
.
# umask 0022
# touch test2
# stat -c "%a %n" test2
644 test2
Изman umask
:
umask() sets the calling process's file mode creation mask (umask) to mask & 0777 (i.e., only the file permission bits of mask are used), and returns the previous value of the mask.