Как перечислить все файлы в папке, которые имеют определенную строку в имени файла на Mac? - PullRequest
0 голосов
/ 24 июня 2018

Например, у меня есть папка new_folder, и у меня много папок и файлов в этой папке.Я хочу перечислить все файлы с именами math.Таким образом, файлы типа maths.txt, text.mathabc будут удовлетворять требованию, и эти файлы могут находиться в некоторых подпапках new_folder.Есть ли команда, которую я могу использовать для выполнения этого действия в new_folder в качестве текущего каталога?

Ответы [ 3 ]

0 голосов
/ 24 июня 2018

find может быть вашим другом здесь.

find . -iname "*math*" -type f -ls

Это должно искать текущую папку (".") И все подпапки для файлов ("-type f"), которые имеют строку "math" в имени без учета регистра. Наконец, он напечатает список найденных файлов в стиле ls -l.

0 голосов
/ 24 июня 2018

Я думаю, вы должны использовать grep

ls -1 | grep "math"

Или вы можете использовать найти

0 голосов
/ 24 июня 2018

Это зависит от того, действительно ли вы находитесь в новом каталоге или нет (например, переместились ли вы туда с помощью cd), и хотите ли вы просто перечислить их или что-то с ними сделать.Если вы находитесь в каталоге и просто хотите перечислить их, используйте:

ls *math*

Если вы не в каталоге, вам нужно указать путь от того места, где вы находитесь, к новой папке, что-тонапример:

ls new_folder/*math*

Обратите внимание, что здесь будет указан полный путь для каждого файла, а не только имена файлов.

Если вы хотите что-то с ними сделать, выполните , а не используйте ls.Если команда может работать непосредственно с группой файлов, используйте шаблон непосредственно с ним, например:

dosomethingwith *math*    # If you're in the directory
dosomethingwith new_folder/*math*    # If not

Если вам нужно сделать что-то, что требует файлы по одному, сделайтецикл:

for file in *math*; do    # Or new_folder/*math* if not in the directory
    dosomethingwith "$file"
done
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...