我需要一个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)' –