Bonjour à tous,
Je débute sous linux et j’aurais quelque questions à vous poser.
voici les questions :
je dois faire un script qui doit afficher les fichiers et répertoires du dossier passé en paramètre dans l’ordre décroissant en nombre de caractère.
Exemple :
$ ./script.sh /bin
plymouth-upstart-bridge
running-in-container
dbus-cleanup-sockets
ntfsdump_logfile
ntfs-3g.secaudit
ulockmgr_server
ntfs-3g.usermap
vmmouse_detect
Comment pourrais-je le faire ?
Et pour les autres questions :
Le fichier d’entrée est le fichier exo1.xml.
Le fichier se présente comme ceci :
<bot version="0.1.4a" formulationsCount="3566">
<matchingGroups>
<group externalId="ad52edb4-02da-42b7-b8c4-4688035421f4" language="French">
<name>1er match</name>
<canBeUsedByOtherGroups>true</canBeUsedByOtherGroups>
<formulations/>
</group>
<group externalId="04667e81-a6c1-48b6-bf9b-eb9aef500cbc" language="French">
<name>2e match</name>
<canBeUsedByOtherGroups>true</canBeUsedByOtherGroups>
<formulations/>
</group>
<group externalId="e9236f85-d239-440b-9e79-ed7cbc9f0fef" language="French">
<name>3e match</name>
<canBeUsedByOtherGroups>true</canBeUsedByOtherGroups>
<formulations>
<formulation sentence="1000P"/>
<formulation sentence="LP10PSMSB/EN"/>
<formulation sentence="1000P"/>
</formulations>
</group>
<group externalId="a574ebb0-6a7a-46a5-8f11-47ab82a59452" language="French">
<name>4e match</name>
<canBeUsedByOtherGroups>true</canBeUsedByOtherGroups>
<formulations>
<formulation sentence="1000W"/>
<formulation sentence="LP10WSLSB/EN"/>
<formulation sentence="1000W"/>
</formulations>
</group>
<group externalId="dbd532c3-7ca8-418b-84c8-feba9aa2fc29" language="French">
<name>5e match</name>
<canBeUsedByOtherGroups>true</canBeUsedByOtherGroups>
<formulations>
<formulation sentence="230MXN"/>
<formulation sentence="LH23PTTMBC/EN"/>
<formulation sentence="230MXN"/>
</formulations>
</group>
<group externalId="b97d17ad-c874-4e9a-bdf7-4befea339ef3" language="French">
<name>6e match</name>
<canBeUsedByOtherGroups>true</canBeUsedByOtherGroups>
<formulations>
<formulation sentence="230MXN"/>
<formulation sentence="LH23PTSMBC/EN"/>
<formulation sentence="230MXN"/>
</formulations>
</group>
<group externalId="c26f4a02-ed31-44a5-ba00-7e306a91fbef" language="French">
<name>7e match</name>
<canBeUsedByOtherGroups>false</canBeUsedByOtherGroups>
<formulations>
<formulation sentence="230TSN"/>
<formulation sentence="LH23PTVMBC/EN"/>
<formulation sentence="230TSN"/>
</formulations>
</group>
<group externalId="3feceacf-a080-4080-b177-19960aad342a" language="French">
<name>8e match</name>
<canBeUsedByOtherGroups>true</canBeUsedByOtherGroups>
<formulations>
<formulation sentence="230TSN"/>
<formulation sentence="LH23PTRMBC/EN"/>
<formulation sentence="230TSN"/>
</formulations>
</group>
<group externalId="303fe41a-5512-43f4-87b1-c020dd066e65" language="French">
<name>9e match</name>
<canBeUsedByOtherGroups>false</canBeUsedByOtherGroups>
<formulations>
<formulation sentence="2433BW"/>
<formulation sentence="LS24CMKKFV/EN"/>
<formulation sentence="2433BW"/>
</formulations>
</group>
<group externalId="78d4478b-5051-4f44-9d99-5216568452b1" language="French">
<name>10e match</name>
<canBeUsedByOtherGroups>true</canBeUsedByOtherGroups>
<formulations>
<formulation sentence="320MX-3"/>
<formulation sentence="LH32HBPLBC/EN"/>
<formulation sentence="32'' Moniteur LCD 320MX-3 usage standard"/>
</formulations>
</group>
<group externalId="857d2450-f380-4693-b1b8-c0180bb9c82f" language="French">
<name>11e match</name>
<canBeUsedByOtherGroups>true</canBeUsedByOtherGroups>
<formulations>
<formulation sentence="320MXN-3"/>
<formulation sentence="LH32HBTLBC/EN"/>
<formulation sentence="32'' Moniteur LCD 320MXn-3 PC embarqué"/>
</formulations>
</group>
<group externalId="1bff58a5-88e6-4be7-9649-051b245acf2d" language="French">
<name>12e match</name>
<canBeUsedByOtherGroups>true</canBeUsedByOtherGroups>
<formulations>
<formulation sentence="320MXN-3"/>
<formulation sentence="LH32HBSLBC/EN"/>
<formulation sentence="32'' Moniteur LCD 320MXn-3 PC embarqué"/>
</formulations>
</group>
<group externalId="ebce9c65-c3f4-415a-bd9c-3753017d40e4" language="French">
<name>13e match</name>
<canBeUsedByOtherGroups>false</canBeUsedByOtherGroups>
<formulations>
<formulation sentence="320TSN-3"/>
<formulation sentence="LH32CRSMBC/EN"/>
<formulation sentence="320TSN-3"/>
</formulations>
</group>
<group externalId="ba45aba9-4947-4a11-be27-7832a81093e5" language="French">
<name>14e match</name>
<canBeUsedByOtherGroups>true</canBeUsedByOtherGroups>
<formulations>
<formulation sentence="320TSN-3"/>
<formulation sentence="LH32CRTMBC/EN"/>
<formulation sentence="320TSN-3"/>
</formulations>
</group>
<group externalId="6417ce7d-b1ac-4773-85bc-9d60f2d22d05" language="French">
<name>15e match</name>
<canBeUsedByOtherGroups>true</canBeUsedByOtherGroups>
<formulations>
<formulation sentence="400CXN"/>
<formulation sentence="LH40MGTLGD/EN"/>
<formulation sentence="400CXN"/>
</formulations>
</group>
</matchingGroups>
</bot>
Le script doit fournir le fichier exo1.csv en sortie, si possible en un minimum de ligne
le fichier de sortie se présente comme ceci :
ad52edb4-02da-42b7-b8c4-4688035421f4 1er match
04667e81-a6c1-48b6-bf9b-eb9aef500cbc 2e match
e9236f85-d239-440b-9e79-ed7cbc9f0fef 3e match
a574ebb0-6a7a-46a5-8f11-47ab82a59452 4e match
dbd532c3-7ca8-418b-84c8-feba9aa2fc29 5e match
b97d17ad-c874-4e9a-bdf7-4befea339ef3 6e match
c26f4a02-ed31-44a5-ba00-7e306a91fbef 7e match
3feceacf-a080-4080-b177-19960aad342a 8e match
303fe41a-5512-43f4-87b1-c020dd066e65 9e match
78d4478b-5051-4f44-9d99-5216568452b1 10e match
857d2450-f380-4693-b1b8-c0180bb9c82f 11e match
1bff58a5-88e6-4be7-9649-051b245acf2d 12e match
ebce9c65-c3f4-415a-bd9c-3753017d40e4 13e match
ba45aba9-4947-4a11-be27-7832a81093e5 14e match
6417ce7d-b1ac-4773-85bc-9d60f2d22d05 15e match
Comment et avec quel commande je pourrais le faire ?
Dans l’attente de vos réponses en vous remerciant d’avance.