В Unix возможно перечислять записи каталога после начальной точки?

Гул... Хорошо, несколько основных случаев, некоторые из них упомянутый (следовательно общественный флаг Wiki):

  • Вы используете комнату без-r аргумента

    rm -r directory
  • Вы пытаетесь удалить из файловой системы только для чтения

    mount -o remount,rw /mount/point 
  • Вы пытаетесь удалить из раздела NFS с корневым сквошем

    (ничто, что можно сделать здесь, если Нельзя изменить настройки на сервере NFS),

  • Вы пытаетесь удалить из медиа только для чтения (например, диск с набором контакта только для чтения, mmc с соединяются, и т.д....),

    Изменитесь физическая защита (возможно, нуждается в перезагрузке),

1
задан 2 June 2009 в 22:12
7 ответов

А-ч - Вы подразумеваете, что хотите искать в лексическом упорядочивании. Используйте это:

ls | awk '$1 >= "c3" && $1 <= "f" {print;}'
3
ответ дан 3 December 2019 в 16:20

ls | $ grep-A 1000000 '^c2' | хвост-n +2

grep дает Вам строку, которая соответствует и следующий миллион; хвост обрубает первую строку.

Если бы Вы хотите долгую версию, добавление "| xargs ls-l" в конец работало бы.

Ограничения: это не будет работать хорошо с броскими именами файлов (особенно имена файлов с новыми строками, но мог бы испытать затруднения из-за пробелов, управляющих символов, и т.д.). И это не будет работать, если у Вас будет более чем миллион файлов в каталоге.

0
ответ дан 3 December 2019 в 16:20

Не категорический ответ, но это должно работать.

ls -1 | while read f ; do [[ "$f" > "g2" ]] && echo $f ; done

Это могло быть более развито с помощью "$ ($f эха | TR [A-Z] [a-z])", таким образом, это будет игнорировать регистр. Это работает только на строки ASCII, это не сможет заказать Unicode (или ISO -*) имена файлов

0
ответ дан 3 December 2019 в 16:20

В bash вы можете сделать что-то вроде:

$ ls [df] *

Или вы мог написать сценарий оболочки.

3
ответ дан 3 December 2019 в 16:20

Использование регулярных выражений:

ls | egrep "[d-z].*"

Обычно это имеет место для нечетных запросов, подобных вашему. Вы просите ls сделать что-то очень необычное и подразумевающее понимание лексической структуры имен каталогов.

Изучите регулярные выражения по адресу: regular-expressions.info

И введите:

man grep

To прочтите страницу руководства для grep .

2
ответ дан 3 December 2019 в 16:20

В соответствии со строками предыдущего ответа:

используйте расширение имени файла оболочки вместо использования egrep:

ls [d-z]*
1
ответ дан 3 December 2019 в 16:20

Используя команду grep, вы можете выполнить любой необходимый тип фильтрации. Аналогично команде НАЙТИ в Windows. Ниже представлен один из вариантов. Если вы хотите получить полный список, например, с помощью «ls -l», вам, возможно, придется объединить его с AWK.

> ls -1 | grep ^[def]
1
ответ дан 3 December 2019 в 16:20

Теги

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