Файлы списка с определенными расширениями с ls и grep

Если это - HttpRequest. QueryString тогда можно скопировать набор в перезаписываемый набор и иметь путь с ним.

NameValueCollection filtered = new NameValueCollection(request.QueryString);
filtered.Remove("Language");
139
задан Steven Penny 29 December 2013 в 08:36
поделиться

8 ответов

Почему бы и нет:

ls *.{mp3,exe,mp4}

Я не уверен, где я это узнал, но я использовал это.

318
ответ дан 4 November 2019 в 09:14
поделиться

egrep - расширенный grep - здесь поможет

ls | egrep '\.mp4$|\.mp3$|\.exe$'

.

35
ответ дан 4 November 2019 в 09:14
поделиться

Самый простой способ - просто использовать ls

ls *.mp4 *.mp3 *.exe
12
ответ дан 4 November 2019 в 09:14
поделиться

На всякий случай: почему бы вам не использовать find ?

find -iname '*.mp3' -o -iname '*.exe' -o -iname '*.mp4'
9
ответ дан 4 November 2019 в 09:14
поделиться

Если вы все еще ищете альтернативное решение:

ls | grep -i -e '\\.tcl$' -e '\\.exe$' -e '\\.mp4$'

Не стесняйтесь добавлять дополнительные флаги -e, если необходимо.

4
ответ дан 4 November 2019 в 09:14
поделиться

Нет необходимости в grep. Подстановочные знаки оболочки сделают свое дело.

ls *.mp4 *.mp3 *.exe

Если вы запустили

shopt -s nullglob

, то несоответствующие глобусы будут полностью удалены и не останутся в командной строке нераспределенными.

Если вы хотите подстановку без учета регистра (поэтому * .mp3 будет match foo.MP3):

shopt -s nocaseglob
5
ответ дан 4 November 2019 в 09:14
поделиться
ls | grep "\.mp4$
\.mp3$
\.exe$"
2
ответ дан 4 November 2019 в 09:14
поделиться

Используйте регулярные выражения с find :

find . -iregex '.*\.\(mp3\|mp4\|exe\)' -printf '%f\n'

Если вы передаете имена файлов по конвейеру:

find . -iregex '.*\.\(mp3\|mp4\|exe\)' -printf '%f\0' | xargs -0 dosomething

Это защищает имена файлов, содержащие пробелы или символы новой строки.

ОС X find поддерживает чередование только при использовании параметра -E (расширенный).

find -E . -regex '.*\.(mp3|mp4|exe)'
42
ответ дан 4 November 2019 в 09:14
поделиться