как мне извлечь имя подкаталога 4 глубоко и поместить его в Var 4 позже?

Мне нужно знать, как получить имя 4-го каталога в дереве. этот каталог var изменяется во время работы с ним с помощью цикла, поэтому, пока цикл выполняется, всегда обновляйте этот структурник каталогов, мне нужно обновить его и поддерживать его в актуальном состоянии

/ dir 1 / dir 2 / dir 3 / dir 4 / dir 5 / Мне нужно только передать то имя, которое находится в этом 4-м каталоге, в переменную, чтобы использовать его где-то еще

. Я использую цикл и извлечение, подобное этому.

#!/bin/bash

working_dir="/media/data/temp1"

script_dir="$HOME/working"

find "$working_dir" -type f -name "*.*" | while [ $xf  -lt $numberToConvert ] ; 
do read FILENAME;

j=$FILENAME
xpath=${j%/*} 
xbase=${j##*/}
xfext=${xbase##*.}
xpref=${xbase%.*}
path1=${xpath}

pref1=${xpref}
ext1=${xfext}
echo 
echo
echo "xpath is -> "$xpath""
echo "xbase is -> "xbase""
echo "xfext is -> "$xfext""
echo "xpref is -> "$xpref""
echo "path is -> "$path1""
echo "pref is -> "$pref1""
echo "ext is -> "$ext1""
echo
getme="$(basename "$working_dir/")" 
echo "GET ME "$getme""
echo

  //Code that does stuff to files in dir's after the 4th Dir
  // is here but hidden 

let xf++
done

вывод для всего этого:

xpath is -> /media/data/temp1/Joe Jackson - The Ultimate Collection/CD2
xbase is -> xbase
xfext is -> mp3
xpref is -> Jumpin' Jive Live - Joe Jackson
path is -> /media/data/temp1/Joe Jackson - The Ultimate Collection/CD2
pref is -> Jumpin' Jive Live - Joe Jackson
ext is -> mp3

GET ME temp1

basename возвращает 3-й каталог, а не 4-й после этого, это то, что мне нужно, чтобы получить имя того, которое находится между / temp1 / ... / и CD

/media/data/temp1/Joe Jackson - The Ultimate Collection/CD2

, что Джо Джексон ... имя каталога изменится, когда сценарий будет завершен с переходом в другой 4-й каталог с другим именем, поэтому мне нужно иметь возможность обновлять его и продолжать получать ТОЛЬКО это имя 4-го каталога.

все, что мне нужно, это что-то вроде этой строки

    4thDirNameIs=${code goes here}

, это 4 глубоко в структурнике каталогов, а не 5 или 3 или даже любое другое имя каталога или файла.

в этом заголовке все сказано - это ключевое слово, которое нужно использовать вне директории, чтобы войти в нее, имя четвертой директории в директории.

Надеюсь, на этот раз все ясно

0
20.11.2015, 21:42
0 ответов

Теги

Похожие вопросы