2

Как видно из заголовка, можно ли перечислить файлы, начинающиеся с X или содержащие X?

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

5 ответов5

6

Чтобы выполнить "содержащую X" часть, вы должны сделать:

ls | grep "X"

ls - перечисляет все файлы в текущем каталоге

| - Pipe, отправляет весь вывод команды перед ним в качестве ввода команды после нее.

grep "X" - Поиск текста в заданном вводе (здесь, через канал).

ls -1 | grep "^X"

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

| - труба

grep "^X" - это в основном переводится в: "начало строки, а затем X", поэтому будут отображаться файлы, начинающиеся с "X".

Надеюсь это поможет!

3

"Начиная с" - это просто специализация "содержать", так что вы можете использовать одно и то же для обоих.

ls *X*
0

Зачем использовать ls *X*? Когда вы набираете эту команду, bash уже интерпретирует звезды и расширяет их, поэтому echo *X* сделает то же самое.

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

find .  -maxdepth 0 -type f -iname '*X*'

(-maxdepth 0 запрещает сканирование подкаталогов).

0

Используя подстановочный знак:

ls *X*

Перечислит все файлы, содержащие "X"

ls X*

Перечислит все файлы, начинающиеся с "X"

ls *X

Перечислит все файлы, заканчивающиеся на "X"

-4

Это отличные предложения - ЕСЛИ ВЫ ИСПОЛЬЗУЕТЕ LINUX! Использование команды "ls" почти такое же, как и команды DIR в MS-DOS. Однако команда ls существует только в определенных интерпретаторах командной строки, таких как C-shell, а не в MS-DOS и, конечно, НЕ в MS-Windows.

Поэтому, если вы спрашиваете о решении для Windows, я могу предположить, что вы не полностью исследовали проводник Windows (НЕ путать с "Internet Explorer"). Например, чтобы просматривать файлы в алфавитном порядке в проводнике Windows, просто откройте его (например, нажмите "Мой компьютер"), убедитесь, что вы можете просмотреть его по деталям, перейдите к папке, которую вы хотите отсортировать, а затем щелкните столбец с именем "Имя". чтобы увидеть все файлы, начинающиеся с A, а затем файлы, начинающиеся с B и так далее. Нажмите на него еще раз, и вы увидите все файлы, перечисленные в обратном порядке, где вы впервые увидите все файлы, начинающиеся с Z - нажмите на него в третий раз, и он снова вернется к списку A. Но это не останавливается там. Затем вы можете щелкнуть по столбцу даты (при условии, что вы не отменили выбор из настроек меню по умолчанию и скрыть его или что-то в этом роде), чтобы отобразить алфавитный список с самыми последними датированными файлами, перечисленными первыми. Вы можете даже добавить больше столбцов (посредством щелчка правой кнопкой мыши), где вы можете добавить или удалить параметры отображения, в которых вы можете даже указать заголовок, который может отображать файлы в соответствии с формулой поиска или даже с флажками - и это только для начала!

Опять же, если вы старой школы, вы можете просто использовать командную строку DOS в окне DOS. Например, откройте окно DOS (запустите «cmd.exe»), перейдите в каталог / папку и введите «dir [star] x [star]» (без кавычек), чтобы показать все файлы с x в имени , Конечно, вы также можете перенаправить вывод в другой файл. Примером будет «dir [star] x [star]> filename.txt», который создаст текстовый файл с именем «filename.txt» и будет содержать список всех файлов с x в имени. Конечно, ввод "dir x [star]" будет показывать только файлы, начинающиеся с буквы x. (Обратите внимание на небольшую разницу между положением x в команде и символом подстановки [звездочка]?). И если вы действительно хотите сходить с ума, вы даже можете написать командный файл! Только не забудьте линию паузы или перенаправление вывода, иначе это было бы довольно бессмысленно. (Кто-нибудь помнит пакетное DOS "программирование"?! лол)

Надеюсь, поможет.

PS Мне пришлось заменить символ звездочки, используя [star], так как этот блог не будет печатать их - извините.

PSS я знаю. Я знаю! Я, вероятно, могу добавить символ звездочки [звездочка], но я уже написал. Поэтому, пожалуйста, не зацикливайтесь на этом. Я постараюсь вспомнить (как я пишу) в следующий раз.

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