URL: https://linuxfr.org/forums/programmation-shell/posts/bizarrerie-sed Title: bizarrerie sed Authors: serval21 Date: 2009年10月16日T02:03:02+02:00 Tags: Score: 0 Bonjour à tous, j'écris un petit script shell me permettant de vérifier la taille de mes tables dans une base de données. Sil les tables atteignent la taille que j'ai défini alors elles doivent etre sauvegardées sous un autre nom puis vidées par la suite. Mais voilà mon sed me permettant de remplacer le nom des tables par un autre nom dans mon fichier sql me montre bien à l'exécution que le remplacement à eu lieu mais quan je vérifie le fichier aucune modification ne s'est opérée. pourtant en exécutant cette même commande (sans les variables) dans le shell tout se passe correctement. Et aussi malgré le fait que je ne précise pas de mot passe il me demande toujours le mot de passe sql. Un petit exemple de mon script: #!/bin/bash # Script de vidage de la base de donnée ########################################## New script ######### dossier="/home/toto/save_sql" sql="show table status" passwd= mysql -u root -e "$sql" -s test> result_rq.txt #Spécification du caractère tabulation comme délimiteur de champs date=`date +"%d%m%Y"` for i in `awk 'BEGIN {FS=":|\t"} {if (9ドル>= 4096) print 1ドル}'< result_rq.txt`; do nomfic=$i"_"$date mysqldump -u root test $i> $dossier/$nomfic.sql; sed "s/$i/$nomfic/" $dossier/$nomfic.sql; #sql1="create table "$nomfic #Envoi de mail #mail -s 'Sauvegarde mensuelle' toto@toto.com <

AltStyle によって変換されたページ (->オリジナル) /