Вы можете использовать -iregex
вместо нескольких -iname
s. например.использование расширенных регулярных выражений:
ГНУfind
:
find. -type f -regextype egrep -iregex '.*\.(ksh|cfg)$'
FreeBSDfind
:
find -E . -type f -iregex '.*\.(ksh|cfg)$'
Если у вас уже есть запятая расширения -, разделенная в переменной (, например. $csep
), преобразуйте их в чередование регулярных выражений(|
). первый. например
csep='ksh,sh,cfg,csv'
re="$(echo "$csep" | tr, '|')"
find. -type f -regextype egrep -iregex ".*\.($re)$"
#BSD: find -E. -type f -iregex ".*\.($re)$"
Если вам необходимо поддерживать расширения с запятыми в них, вы можете использовать sed
вместо tr
, чтобы разрешить обратную косую черту -экранированные запятые(\,
). например.
$ csep='ksh,sh,cfg,csv,c\,v'
$ re="$(echo "$csep" | sed -Ee 's/([^\]),/\1|/g')"
$ printf '%b\n' "$re"
ksh|sh|cfg|csv|c\,v
Лучшим заголовком вопроса было бы что-то вроде «Как включить и VirtualBox, и WSL в Windows 10».
Я могу придумать три возможных дополнительных решения:
Требуются ли для вашей школьной работы функции из WSL2? Если вы можете использовать только функции WSL1, вы можете преобразовать свой экземпляр WSL в версию 1, и он сможет работать, когда Hyper -V отключен.
В качестве альтернативы, хотя это и не намного лучше, чем изменение вручную при перезагрузке, вы можете настроить одну загрузочную запись Windows, которая включает Hyper -V для WSL2, а вторую — отключать ее для Virtual Box. Полная информация (, а также дополнительная информация о том, почему VirtualBox и Hyper -V не могут -существовать вместе ), здесь .
Если у вас Windows Pro или более поздняя версия (или вы можете дешево обновиться, используя скидку для студентов, возможно? )тогда вы сможете запустить виртуальную машину Kali, используя полнофункциональную -Hyper -V, доступную в версии Pro.