Commande shell
Résolu
Utilisateur anonyme
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
Je travaille actuellement sur un programme écrit en Shell et je rencontre un problème sur cette ligne :
sed -e 's/(RUBRIQUES)/(RUBRIQUES){tout}/' -e 's/tout}{tout/tout/' $z >nil
Le problème c'est que je ne connais pas cette commande vu que je débute et son utilisation ici semble complexe...
Donc, est-ce que quelqu'un pourrait m'expliquer ce qu'exécute ce bout de code ?
Merci beaucoup !
Voici le programme en entier :
# Cf http://www.opensystemarmor.com/spip.php?article30
root=\\sme\spip\html
rep=$root\plugins\sarkaspip_3
fichiers='rubrique.html
rubrique_sarka.html
noisettes/rubrique/inc_rubrique_description.html
noisettes/rubrique/inc_rubrique_navigation.html
noisettes/navigation/inc_menu_rubriques_1.html
noisettes/navigation/inc_menu_rubriques_2.html
noisettes/navigation/inc_menu_rubriques_3.html
'
# les fichiers en _nav_ ont été ajoutés pour la version 3.0.2 de Sarka
for f in $fichiers
do
z=$rep/$f
echo
echo On traite $z
if [ -f $z ]
then
echo " OK"
copy $z $z-'date +'%Y-%m-%d-%H-%M-%S''
# -e => spécifie les commandes à appliquer sur le fichier quand il y en plusieurs
sed -e 's/(RUBRIQUES)/(RUBRIQUES){tout}/' -e 's/tout}{tout/tout/' $z >nil
mv nil $z
else
echo " N'EXISTE PAS"
fi
done
Je travaille actuellement sur un programme écrit en Shell et je rencontre un problème sur cette ligne :
sed -e 's/(RUBRIQUES)/(RUBRIQUES){tout}/' -e 's/tout}{tout/tout/' $z >nil
Le problème c'est que je ne connais pas cette commande vu que je débute et son utilisation ici semble complexe...
Donc, est-ce que quelqu'un pourrait m'expliquer ce qu'exécute ce bout de code ?
Merci beaucoup !
Voici le programme en entier :
# Cf http://www.opensystemarmor.com/spip.php?article30
root=\\sme\spip\html
rep=$root\plugins\sarkaspip_3
fichiers='rubrique.html
rubrique_sarka.html
noisettes/rubrique/inc_rubrique_description.html
noisettes/rubrique/inc_rubrique_navigation.html
noisettes/navigation/inc_menu_rubriques_1.html
noisettes/navigation/inc_menu_rubriques_2.html
noisettes/navigation/inc_menu_rubriques_3.html
'
# les fichiers en _nav_ ont été ajoutés pour la version 3.0.2 de Sarka
for f in $fichiers
do
z=$rep/$f
echo
echo On traite $z
if [ -f $z ]
then
echo " OK"
copy $z $z-'date +'%Y-%m-%d-%H-%M-%S''
# -e => spécifie les commandes à appliquer sur le fichier quand il y en plusieurs
sed -e 's/(RUBRIQUES)/(RUBRIQUES){tout}/' -e 's/tout}{tout/tout/' $z >nil
mv nil $z
else
echo " N'EXISTE PAS"
fi
done
A voir également:
- Commande shell
- Invite de commande - Guide
- Classic shell - Télécharger - Personnalisation
- Commande terminal mac - Guide
- Commande dism - Guide
- Diskpart commande - Guide
2 réponses
Salut,
Voir sed dans la FAQ...
sed -e
La commande 'sed' avec l'option "-e" pour indiquer qu'il y aura plusieurs commandes à enchainer
's/(RUBRIQUES)/(RUBRIQUES){tout}/'
On substitue (commande "s") le motif "(RUBRIQUES)" par lui même suivi de "{tout}" ((RUBRIQUES){tout})
-e
Indique une nouvelle commande à exécuter
's/tout}{tout/tout/'
On substitue "tout}{tout" par "tout"
$z >nil
$z représentant le fichier en entrée, on écrit donc le tout sur dans fichier "nil" en sortie.
La syntaxe est un peu lourde tout de même ;-\
Sur quel système s'applique ce script ?
Quelle version de "sed" (sed --version) ?
Voir sed dans la FAQ...
sed -e
La commande 'sed' avec l'option "-e" pour indiquer qu'il y aura plusieurs commandes à enchainer
's/(RUBRIQUES)/(RUBRIQUES){tout}/'
On substitue (commande "s") le motif "(RUBRIQUES)" par lui même suivi de "{tout}" ((RUBRIQUES){tout})
-e
Indique une nouvelle commande à exécuter
's/tout}{tout/tout/'
On substitue "tout}{tout" par "tout"
$z >nil
$z représentant le fichier en entrée, on écrit donc le tout sur dans fichier "nil" en sortie.
La syntaxe est un peu lourde tout de même ;-\
Sur quel système s'applique ce script ?
Quelle version de "sed" (sed --version) ?