Вы можете обойти это следующим образом:
mkdir -p /path/to/my/custom/dotVirtualBox
mv .VirtualBox/* /path/to/my/custom/dotVirtualBox/
rmdir .VirtualBox
ln -s /path/to/my/custom/dotVirtualBox .VirtualBox
Необходимо использовать флаг -h
с rgrep
, так как именно rgrep
печатает имена файлов. Этот флаг останавливает это.
Я могу только догадываться, почему вы используете rgrep
вместо простых grep
и cat
. Итак, во-первых, вам не нужен cat
. grep PATTERN FILE
достаточно. Второй rgrep
эквивалентен grep -r
. А вот что делает флаг -r
для grep
:
-r, --recursive Read all files under each directory, recursively, following symbolic links only if they are on the command line. Note that if no file operand is given, grep searches the working directory. This is equivalent to the -d recurse option.
Для простого решения попробуйте:
grep '^a' regex.txt
(С этим паттерном непонятно, зачем использовать переключатель -E
.)