Ajout du nom de répertoire à chaque ligne lors de la concaténation de fichiers à partir d’une structure nestede

J’ai un arbre de fichiers qui ressemble à ceci

03 ├── 01 │  ├── File 1.csv └── 02 ├── File 2.csv 04 ├── 01 │  ├── File 1.csv └── 02 ├── File 2.csv 05 ├── 01 │  ├── File 1.csv └── 02 ├── File 2.csv 

Mon but est d’utiliser les noms de dossier comme dates … par exemple 03/01 , 03/02 et ainsi de suite.

pour chaque date de création, je souhaite l’append en tant que nouvelle colonne dans chaque fichier CSV correspondant.

Voici ce que j’ai essayé jusqu’ici.

 for i in */*; do na= echo "$i"; done | awk -F";" '{$(NF+1)=na OFS $(NF+1)}' */*/*.csv >> ../outer/output.csv 

J’ai essayé d’utiliser awk mais je sais qu’il me manque quelque chose.

Merci d’avance.

Vous n’avez pas besoin de la boucle for . awk a une variable FILENAME qui contient le nom de fichier actuel, vous pouvez en extraire la partie date.

 awk -F";" -v OFS=";" '{ split(FILENAME, path, "/"); $(NF+1) = path[1] "/" path[2]; print }' */*/*.csv >> ../outer/output.csv 
 $ awk 'FNR==1 {sub("/[^/]+$","", FILENAME)} {print $0 ";" FILENAME}' */*/*.csv >> ../outer/output.csv