Quelqu'un pourrait-il m'expliquer cette commande:
cat | sed -e 's,%,$,g' | Sudo tee /etc/init.d/dropbox << EOF
echo "Hello World"
EOF
Que fait la commande "sed"?
sed
est le Stream EDitor . Il peut faire toute une pile de choses vraiment cool , mais le plus courant est le remplacement de texte.
Le s,%,$,g
une partie de la ligne de commande est la commande sed
à exécuter. s
signifie substitut, ,
les caractères sont des délimiteurs (d'autres caractères peuvent être utilisés; /
, :
et @
sont populaires). Le %
est le modèle à faire correspondre (ici un signe de pourcentage littéral) et le $
est le deuxième motif à mettre en correspondance (ici un signe dollar littéral). Le g
à la fin signifie à g
localement remplacer sur chaque ligne (sinon il ne mettrait à jour que la première correspondance).
Ici sed
remplace toutes les occurrences de %
avec $
dans son entrée standard.
Par exemple
$ echo 'foo%bar%' | sed -e 's,%,$,g'
produira "foo $ bar $".
Ça lit Hello World
(cat
), remplace toutes les occurrences (g
) de %
par $
et (sur) l'écrit dans /etc/init.d/dropbox
en tant que root.
sed est un éditeur de flux. Je dirais essayez man sed.Si vous n'avez pas trouvé cette page de manuel dans votre système, référez-vous à cette URL: