Для новичков как вообще в Linux, так и в конкретной теме, к которой относится вопрос.
Модератор: Bizdelnick
crashc
Сообщения: 52
ОС: Debian 40r1-i586, etch
Сообщение
crashc » 14.12.2007 02:40
В "каталоге", имеюца файлы:
Код: Выделить всё
crashcool@debc:~/wrk/test$ ls -a -1
.
..
2.22
3.2.18
4.3.2.11
5.4.3.2.1
976
Комманда:
Код: Выделить всё
crashcool@debc:~/wrk/test$ ls | grep '.1$'
4.3.2.11
5.4.3.2.1
А коим образом выводить 5.4.3.2.1, но не 4.3.2.11, т.е.
1 - одна еденица в конце строки
Что то отрицание - "!" не куда не работает...
*nix-way, guitar, freedom & добро и свет ;)
[ cc ] Net
Uncle_Theodore
Сообщения: 3339
ОС: Slackware 12.2, ArchLinux 64
Сообщение
Uncle_Theodore » 14.12.2007 03:14
ls | grep '[.]1$'
пойдет?
crashc
Сообщения: 52
ОС: Debian 40r1-i586, etch
Сообщение
crashc » 14.12.2007 03:34
Отлично! Спасибо!
А в теории чего это глядеть ?
regexp ?
*nix-way, guitar, freedom & добро и свет ;)
[ cc ] Net
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU
Сообщение
sash-kan » 14.12.2007 23:47
crashc писал(а): ↑ 14.12.2007 03:34
А в теории чего это глядеть ?
man grep
для начала.
а потом уж можно и что-нибудь посерьезнее.
например, J. E. F. Friedl „mastering regular expressions“.
не, ну, конечно, тоже вариант. хотя более традиционно, наверно, все-таки:
$ ls | grep '\.1$'
ну а если требуется именно отрицание, то:
$ ls | grep '[^1]1$'
или нужно получить конкретно «не цифру на предпоследнем месте»? тогда:
$ ls | grep '[^0-9]1$'
Portnov
Модератор
Сообщения: 1786
Статус: Матёрый линуксоид
ОС: Debian testing/unstable
Сообщение
Portnov » 15.12.2007 09:50
man 7 regex.