Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / bash. Как выбрать файлы из директории по заданному шаблону / 9 сообщений из 9, страница 1 из 1
22.04.2011, 12:00
    #37228327
Pierce34
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
bash. Как выбрать файлы из директории по заданному шаблону
Всем доброе время суток.

Суть задачи такова.
В директории может находится множество различных файлов.
Мне из них нужно выбрать свои. Они имеют определённый шаблон.
[7символов].ABC.[8цифр].csv
[7символов].DEF.[8цифр].csv
[7символов].GHI.[8цифр].csv

Как мне командой ls выбрать только мои, и сразу все 3?
Как-то regexp подключить?

Буду благодарен, если кто поможет.
...
Рейтинг: 0 / 0
22.04.2011, 12:18
    #37228379
С0ВЕСТЬ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
bash. Как выбрать файлы из директории по заданному шаблону
xargs + find
...
Рейтинг: 0 / 0
22.04.2011, 12:45
    #37228455
--null--
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
bash. Как выбрать файлы из директории по заданному шаблону
ls | egrep '^[0-9]{7}\.ABC|DEF|GHI\.[0-9]{8}\.csv$'

что-нить такое
...
Рейтинг: 0 / 0
22.04.2011, 13:50
    #37228642
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
bash. Как выбрать файлы из директории по заданному шаблону
On 22.04.2011 13:00, Pierce34 wrote:
> Автор: Pierce34. Всем доброе время суток.
>
> Суть задачи такова.
> В директории может находится множество различных файлов.
> Мне из них нужно выбрать свои. Они имеют определённый шаблон.
> [7символов].ABC.[8цифр].csv
> [7символов].DEF.[8цифр].csv
> [7символов].GHI.[8цифр].csv
>
> Как мне командой ls выбрать только мои, и сразу все 3?
> Как-то regexp подключить?
\\

find . -type f "-(" -name "???????.ABC.????????.csv" -o -name
"???????.DEF.????????.csv" ... "-)" -print0 | xargs -0 echo
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
25.04.2011, 16:10
    #37232275
Pierce34
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
bash. Как выбрать файлы из директории по заданному шаблону
--null--,

Cпасибо за коммент.
Почиатл man по egrep. Вроде как его возможностей вполне хватает.
И всё даже работает Но!
Оч. любопытно получается, команда действительно выбирает только строчки, кот содержат ABC или DEF или GHI названии файла.
Однако на все осталььные условия - ей параллельно: есть там 8 цифр - нет там 8 цифр, csv. в конце, нет csv в конце - всё по барабану. Как только нашла ABC или DEF или GHI - то отображает эти записи.
Как можно избавиться от такого эффекта??
...
Рейтинг: 0 / 0
25.04.2011, 17:32
    #37232465
--null--
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
bash. Как выбрать файлы из директории по заданному шаблону
Pierce34,

да - немного я ошибся, надо сгруппировать

да и еще что-то условие задачи прочитал неверно - впереди "символов", а не "цифр" -

поэтому так:


ls | egrep '^.{7}\.(ABC|DEF|GHI)\.[0-9]{8}\.csv$'
...
Рейтинг: 0 / 0
07.06.2011, 20:24
    #37299500
Pierce34
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
bash. Как выбрать файлы из директории по заданному шаблону
Теперь немного нужно усложнить задачу, а именно:
выбрать строки в которые не входит запись "00".
Например:

ls |perl -nle 'if(/^[a-zA-Z0-9]{10}\.(CER|CON|CSA|ILD|PCM|PCS|PLE|SDD)\.\d{6}вот тут 2 цифры НЕ должын быть равны 00\.csv$/){print $_}'

Нашёл в мане варианты, когда это можно сделать относительно одного символа, с помощью
[^0]
Но это применимо только к одному символу, а что насчёт выражения?
...
Рейтинг: 0 / 0
08.06.2011, 15:31
    #37300732
S_Andrey_A
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
bash. Как выбрать файлы из директории по заданному шаблону
Pierce34,

ls |perl -nle 'if(/^[a-zA-Z0-9]{10}\.(CER|CON|CSA|ILD|PCM|PCS|PLE|SDD)\.\d{6}[1-9]{2}\.csv$/){print $_}'
...
Рейтинг: 0 / 0
10.06.2011, 19:35
    #37304853
Pierce34
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
bash. Как выбрать файлы из директории по заданному шаблону
S_Andrey_A,

Такой вариант, к сожалению, не подойдёт, т.к. он исключает значения 01 и 10.

Но всё равно спасибо за предложние :)
...
Рейтинг: 0 / 0
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / bash. Как выбрать файлы из директории по заданному шаблону / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]