我需要一个bash脚本来递归打印文件夹名称和文件名(在stdo/p中).例如:我有一个文件夹结构,如/earth/plants/flowers/rose/rose.jpg.
/earth/plant/fruits/apple/apple.jpg.
/earth/animals/carni/lions.jpg
/earth/animals/herbi/omni/dog.jpg
Run Code Online (Sandbox Code Playgroud)
现在我需要列出这样的文件和文件夹,我的意思是我的O/P脚本应该是,
planet=earth
category=animal (plant)
sub cat = carni
name = lion.jpg.
Run Code Online (Sandbox Code Playgroud)
我试过了
`find / -name "*" -print | awk -F"/" '{ print "\n planet=",$2,"\n category=",$3,"\n sub cat=",$4,"\n Name=",$5, $6 }'`
Run Code Online (Sandbox Code Playgroud)
上面的命令给了我以下的O/P.
planet=earth
category=animal (plant)
sub cat = carni
name = lion.jpg
Run Code Online (Sandbox Code Playgroud)
但在某些情况下,我有其他文件夹,如" /earth/animals/herbi/omni/rabbit.jpg"在这种情况下顺序正在改变输出,如:
planet=earth
category=animal
sub cat = herbi
name = omni
rabbit.jpg
Run Code Online (Sandbox Code Playgroud)
所以我需要在很少的地方列出额外的subcat.喜欢
planet=earth
category=animals
sub cat = herbi
add cat = omni
name = rabbit.jpg
Run Code Online (Sandbox Code Playgroud)
所以如何使用单个脚本.除了awk之外,还欢迎使用.
`find / -name "*" -print | awk …Run Code Online (Sandbox Code Playgroud)