3

В Windows я быстро запускал dir *.mp3 чтобы найти все файлы с расширением mp3 в текущем каталоге. Есть ли такой же быстрый способ сделать это с помощью bash? Команда ls похоже, способ игнорировать шаблон, но не показывать только шаблон. Я могу find . -maxdepth 1 -iname '*.mp3' или ls|grep -i '\.mp3$' но ни одна из них не выпадает из моих пальцев за полсекунды или меньше)

Есть более быстрые альтернативы?

2 ответа2

10

Вы пробовали ls *.mp3?

0

Обратите внимание, что в bash подстановочный знак «звезда» разрешается интерпретатором командной строки, а затем результирующий массив строк передается самой команде. В командной строке Windows (ex-DOS) подстановочный знак «звезда» передается команде «как есть», которая затем, к сожалению, должна с ней справиться. Смотрите википедию

Попробуйте это, чтобы увидеть, как ведет себя подстановочный знак:

#!/bin/bash    
# Display all "positional parameters" (as they are called), passed to the script:    
# COUNT is the number of positional paramaters

COUNT=$#    
while [[ $COUNT -gt 0 ]]; do
   echo "'$1'"
   # pop positional argument 1 off the stack of positional arguments
   shift
   let COUNT=$COUNT-1
done

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .