フォルダ名とファイル名を再帰的に(stdo / pで)印刷するには、bashスクリプトが必要です。例:/earth/plants/flowers/rose/rose.jpgのようなフォルダ構造があります。
/earth/plant/fruits/apple/apple.jpg.
/earth/animals/carni/lions.jpg
/earth/animals/herbi/omni/dog.jpg
今、私はこのファイルとフォルダをこのようにリストする必要があります。つまり、私のO/Pスクリプトは次のようになります。
planet=earth
category=animal (plant)
sub cat = carni
name = lion.jpg.
私は試した
`find / -name "*" -print | awk -F"/" '{ print "\n planet=",$2,"\n category=",$3,"\n sub cat=",$4,"\n Name=",$5, $6 }'`
上記のコマンドは、次のO/Pを提供します。
planet=earth
category=animal (plant)
sub cat = carni
name = lion.jpg
しかし、場合によっては、 ""のような追加のフォルダーがあります/earth/animals/herbi/omni/rabbit.jpg
。この場合、出力の順序は次のように変更されます。
planet=earth
category=animal
sub cat = herbi
name = omni
rabbit.jpg
だから私はいくつかの場所に追加のサブキャットをリストする必要があります。お気に入り
planet=earth
category=animals
sub cat = herbi
add cat = omni
name = rabbit.jpg
したがって、単一のスクリプトでそれを行う方法。awk以外のスクリプトも歓迎します。
`find / -name "*" -print | awk -F"/" '{ print "\n planet=",$2,"\n category=",$3,"\n sub cat=",$4,"\n Name=",$5,$6}``
この場合、$ 5にあるものはすべて名前としてのみ印刷されるので、このようなものが必要です。
``find / -name "*" -print | awk -F"/" '{ print "\n planet=",$2,"\n category=",$3,"\n sub cat=",$4,"\n add cat =",$5,(if $5 = foldername print "add cat = omni") name = $6 }'"``.
ありがとう、vijai k