Найдите каталог, который начинается с x (Groovy) - PullRequest
0 голосов
/ 16 апреля 2019

Используя groovy, я хочу найти каталог, который начинается с символов XXXX. Я отличный новичок и буду признателен за любую помощь.

Для данного каталога Y и поиска только внутри Y мне нужно найти каталог, который начинается с XXXX. Это должен быть только один каталог, соответствующий шаблону.

Это для использования в Дженкинс.

Я пробовал следующее:

def release_dir_path = "C:\\Dir\\ReleaseDir"
def pattern = "DWH-4072"
def release_path = ""

new File(release_dir_path).eachDir { File dir -> if 
    (dir.name.startsWith(pattern) { release_path = dir })}
println release_path

Идея состоит в том, чтобы найти каталог в Y, который начинается с XXXX, и поместить это значение в release_path.

1 Ответ

0 голосов
/ 16 апреля 2019

Вы не указали:

  1. В каком каталоге должен начинаться поиск
  2. Как искать то есть рекурсивно или нерекурсивно

Я предполагаю, что вы хотите искать нерекурсивно в /tmp.

// stores each matching directory as a File object
List<File> matchingDirs = []

new File('/tmp').eachDir { File dir ->    
   if (dir.name.startsWith('XXXX')) {
       matchingDirs << dir
   }
}

// after updating your question to explain that there should be just 
// one matching dir and you want to capture it in a variable and print it
if (matchingDirs) {
  def matchingDir = matchingDirs[0]
  println matchingDir
}

Если вы хотите выполнить рекурсивный поиск, просто замените eachDir на eachDirRecurse.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...