LINUX.ORG.RU

Глубокий поиск директорий через утилиту find

 


1

1

Привет. Стоит тривиальная задача поиска директорий нужной структуры вида. Вывод файлов исключаются.

1
10
100.1
100.100.1
100.100.10
100.100.100
100.10.1
100.10.10
100.10.100
100.1.1
100.1.10
100.1.100
10.1
10.10
10.100.1
10.100.10
10.100.100
10.10.1
10.10.10
10.1.1
10.1.10
10.1.100
1.1
1.10
1.100
1.100.1
1.100.10
1.100.100
1.10.1
1.10.10
1.10.100

имеем небольшой скрипт. Но не справляется он с задачей (выводит только первые /1.* /10.* из списка выше), да и синтаксис мне не очень. Подскажите как упростить сие создание.


#!/bin/bash

DIRSCAN_REPO=/home/pi/REPO/TEST

number0="?.*"
number1="??.*"
number2="???.*"

find $DIRSCAN_REPO -name $number0 -type d -print -o \( -name .nexus -prune \) | sort -n > full.txt
find $DIRSCAN_REPO -name $number1 -type d -print -o \( -name .nexus -prune \) | sort -n >> full.txt
find $DIRSCAN_REPO -name $number2 -type d -print -o \( -name .nexus -prune \) | sort -n >> full.txt


Последнее исправление: vladrnd (всего исправлений: 3)

Ответ на: комментарий от vladrnd

отбой. -printf «%f\n"помог :)

find . -type d -regex '.*/[0-9]*\(\.[0-9]*\)*'-printf »%f\n"

vladrnd
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.