
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
22.04.2011, 12:00
|
|||
|---|---|---|---|
|
|||
bash. Как выбрать файлы из директории по заданному шаблону |
|||
|
#18+
Всем доброе время суток. Суть задачи такова. В директории может находится множество различных файлов. Мне из них нужно выбрать свои. Они имеют определённый шаблон. [7символов].ABC.[8цифр].csv [7символов].DEF.[8цифр].csv [7символов].GHI.[8цифр].csv Как мне командой ls выбрать только мои, и сразу все 3? Как-то regexp подключить? Буду благодарен, если кто поможет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.04.2011, 12:18
|
|||
|---|---|---|---|
bash. Как выбрать файлы из директории по заданному шаблону |
|||
|
#18+
xargs + find ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.04.2011, 12:45
|
|||
|---|---|---|---|
bash. Как выбрать файлы из директории по заданному шаблону |
|||
|
#18+
ls | egrep '^[0-9]{7}\.ABC|DEF|GHI\.[0-9]{8}\.csv$' что-нить такое ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.04.2011, 13:50
|
|||
|---|---|---|---|
bash. Как выбрать файлы из директории по заданному шаблону |
|||
|
#18+
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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.04.2011, 16:10
|
|||
|---|---|---|---|
|
|||
bash. Как выбрать файлы из директории по заданному шаблону |
|||
|
#18+
--null--, Cпасибо за коммент. Почиатл man по egrep. Вроде как его возможностей вполне хватает. И всё даже работает Но! Оч. любопытно получается, команда действительно выбирает только строчки, кот содержат ABC или DEF или GHI названии файла. Однако на все осталььные условия - ей параллельно: есть там 8 цифр - нет там 8 цифр, csv. в конце, нет csv в конце - всё по барабану. Как только нашла ABC или DEF или GHI - то отображает эти записи. Как можно избавиться от такого эффекта?? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.04.2011, 17:32
|
|||
|---|---|---|---|
bash. Как выбрать файлы из директории по заданному шаблону |
|||
|
#18+
Pierce34, да - немного я ошибся, надо сгруппировать да и еще что-то условие задачи прочитал неверно - впереди "символов", а не "цифр" - поэтому так: ls | egrep '^.{7}\.(ABC|DEF|GHI)\.[0-9]{8}\.csv$' ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.06.2011, 20:24
|
|||
|---|---|---|---|
|
|||
bash. Как выбрать файлы из директории по заданному шаблону |
|||
|
#18+
Теперь немного нужно усложнить задачу, а именно: выбрать строки в которые не входит запись "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] Но это применимо только к одному символу, а что насчёт выражения? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
08.06.2011, 15:31
|
|||
|---|---|---|---|
|
|||
bash. Как выбрать файлы из директории по заданному шаблону |
|||
|
#18+
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 $_}' ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=25&tablet=1&tid=1484193]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
149ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 254ms |
| total: | 473ms |

| 0 / 0 |
