Как вывести список текстовых файлов без расширения .txt?

Например, как я могу реплицировать:

ls *.txt

, когда в моих текстовых файлах отсутствует окончание .txt, а в отношении расширений отображаются так же, как и у многих других типов файлов? ]

В качестве альтернативы, можно ли перечислить только те файлы, которые НЕ имеют расширения файла?

9
задан 22 December 2015 в 01:54

5 ответов

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

ls | grep -v '\.'

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

ls | grep -v '\.txt'

Это передаст список файлов в текущем каталоге на grep, который удалит все имена файлов, в которых есть . (или .txt для второй команды).

0
ответ дан 22 December 2015 в 01:54

С помощью ls -ignore="PATTERN" вы можете исключить файлы из результата ls.

Например, ls --ignore="*.txt" игнорировать текстовые файлы.

0
ответ дан 22 December 2015 в 01:54

Просто отмените ваш шаблон (примечание: shopt -s extglob требуется).

Чтобы отобразить все файлы без расширения:

ls !(*.*)

Чтобы отобразить файлы, не относящиеся к txt, попробуйте:

ls !(*.txt)
0
ответ дан 22 December 2015 в 01:54

Я предпочитаю избегать использования grep для простых операций листинга.

Во избежание использования grep,

я рекомендую использовать ls !(*.*) для поиска файлов без расширения файла, а также

ls -I "*.gz" -I "*.tz" или ls --ignore={"*.jpg","*.png","*.bmp"}

[ 118], чтобы исключить определенные расширения файлов

0
ответ дан 22 December 2015 в 01:54

Команда ls -SX1|less отсортирует по расширению в одном столбце, а файлы без такового будут перемещены в начало. Пропускная способность меньше, как в примере, предлагается для каталогов с более чем несколькими файлами, чтобы ограничить вывод всего экрана за один раз.

0
ответ дан 22 December 2015 в 01:54

Другие вопросы по тегам:

Похожие вопросы: