我需要一個bash腳本來遞歸地打印文件夾名和文件名(在stdo/p中)。 例如: 我有一個像/earth/plants/flowers/rose/rose.jpg的文件夾結構。在bash腳本和awk命令中需要幫助
/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 }'`
上面的命令給了我下面的Ø/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
所以我需要列出附加SUBCAT在幾個地方。像
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它將只打印名稱only.so需要這樣的東西。
``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ķ
嗨,謝謝你的幫助。 – vijai
需要一個更多的幫助,如果我想顯示$ NF的大小,我該怎麼辦? – vijai
@vijai:打印字符長度:'打印長度($ NF)' –