Как вывести список имен файлов, содержащих определенную строку - PullRequest
0 голосов
/ 21 октября 2019

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

Например, скажем, есть каталог с файлами "DABC.txt", "ABC.txt", "ABC" и "CDA.txt". Затем, если я хочу найти все имена файлов, содержащие слово «ABC», команда, которую я ищу, должна распечатать "DABC.txt", "ABC.txt" и "ABC".

Я думал, что find -name будет работать здесь, но он печатает только имена файлов с точной строкой, соответствующей ключевому слову;он не распечатывает имена файлов, которые содержат ключевое слово как часть строки имени файла, а не всю строку отдельно. (Вроде "DABC.txt")

Будет ли альтернатива этому? Заранее спасибо.

1 Ответ

1 голос
/ 21 октября 2019

это довольно простой

список файлов с использованием ls

ls -lrt *ABC*

список каталогов с использованием ls

ls -ld *ABC*

с использованием ls и grep

ls -l | grep -i "ABC"

используя команду find

find . -name '*abc*'

используя поиск без учета регистра в find

find . -iname '*abc*'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...