rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Non résolu

Script shell - écriture dans un fichier

Posté par Jérôme, le mercredi 1 décembre 2004 à 18:17:38
Bonjour,

Je chercher à insérer une valeur à la suite d'un fichier existant avec la commande :

"valeur" >> fichier.txt

mais en évitant que cette valeur aille directement à la ligne suivante dans le fichier.
Quelqu'un saurait si c'est possible juste avec un commande ou un script shell?

La commande doit insérer la valeur à la suite de la dernière ligne du fichier.

Merci d'avance à ceux qui me répondront.

Jérôme
Répondre à Jérôme  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
jipicy, le mercredi 1 décembre 2004 à 20:42:59
Salut,

Tu peux essayer par l'intermédiaire de la commande "echo" et de l'option "-n" (empêche le retour à la ligne). Ce qui donnerait :
echo -n $valeur >> fichier.txt
Par contre cette commande n'aura d'effet que lors du prochain ajout. Si comme tu le précises, la "valeur" doit s'incsrire à la suite de ton fichier, c'est la dernière ligne de ton fichier qui ne doit pas avoir de retour à la ligne.

Z'@+...che.
JP : Zen, my Nuggets ! ;-)
sh:/bin/laden: Not found !
Répondre à jipicy

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Ahmed S., le lundi 13 décembre 2004 à 21:30:14
Salut,

Je projéte d'installer wwwblast server sous lamppix mini. En effet, wwwblast server est un programme (utilisé en bioinformatique pour l'alignement local de séquences ADN ou acides aminés) installable sous apache dans un répertoire nommé blast mis sous le document root directory d'apache(www par exemple). Ce programme permet d'aligner des séquences "input" en exécutant des scripts cgi. Pour ceci, j'ai besoin de configurer apache pour permettre l'exécution des cgi présents sous me répertoire "blast"
et ce, en modifiant le fichier http.conf par l'ajout de quelques lignes.
Je précise que j'ai déjà effectué ce genre de manoeuvre sous Linux Mdk 9.0 et ça marche.

Le problème avec lamppix c'est qu'on ne peut modifier http.conf qu'à travers un script shell qui va écrire 6 lignes dans ce fichier pour permettre aux cgi de wwwblast server de tourner sous le réperoire blast qu'on créer.

Je précise que :
* le document root directory est : ./opt/lampp/htdocs
* le répertoire de blast est donc : ./opt/lampp/htdocs/blast
* http.conf existe sous /opt/lampp/etc/httpd.conf
* Les 6 lignes à ajouter sont :
[code]
<Directory "./opt/lampp/htdocs/blast">
Options Indexes FollowSymLinks Includes MultiViews ExecCGI
AllowOverride None
Order allow,deny
Allow from all
</Directory>
[/code]

Pour ceci, je me demande s'il faut utiliser 6 variables (une pour chaque ligne) ou il est possible de mettre les 6 lignes en une seule variable ?

sachant que je vais utiliser la commande :
[code]
echo $variable >> /opt/lampp/etc/httpd.conf
[/code]

Merci d'avance pour votre aide et j'espère que j'étais pas long dans l'explication de mon problème.

Ahmed S.
Répondre à Ahmed S.

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
fablac, le lundi 13 décembre 2004 à 21:40:03
fait un "diff -uNr " fichier original fichier modifier >>fichier.patch"
puis créer un script qui patchera ton fichier original avec la commande patch

exemple "patch -p0 < fichier.patch"


Bon courage
Répondre à fablac

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Ahmed S., le lundi 13 décembre 2004 à 22:28:05
Salut,

Ce code serait il correct ?

[code]

#!/bin/bash

#j'affecte mes lignes
$ligne1 = "<Directory "./opt/lampp/htdocs/blast"> \n"
$ligne2 = "Options Indexes FollowSymLinks Includes MultiViews ExecCGI \n"
$ligne3 = "AllowOverride None \n"
$ligne4 = "Order allow,deny \n"
$ligne5 = "Allow from all \n"
$ligne6 = </Directory> \n"
#j'ajoute mes lignes au fichier http.conf
echo $ligne1 >> /opt/lampp/etc/httpd.conf
echo $ligne2 >> /opt/lampp/etc/httpd.conf
echo $ligne3 >> /opt/lampp/etc/httpd.conf
echo $ligne4 >> /opt/lampp/etc/httpd.conf
echo $ligne5 >> /opt/lampp/etc/httpd.conf
echo $ligne6 >> /opt/lampp/etc/httpd.conf

[/code]

Merci.

Ahmed S.
Répondre à Ahmed S.

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
fablac, le mardi 14 décembre 2004 à 09:54:19
c'est sur que cela va marcher enfin presque mais si tu as un prog
qui te demande de modifier d'autres endroits dans le fichier
la solution patch est beaucoup plus propre ( c'est ce qui est utilisé pour le kernel )
Alors autant le faire proprement

sinon ton script sera mieux ainsi

#!/bin/bash

#j'affecte mes lignes
ligne1 = "<Directory "./opt/lampp/htdocs/blast"> \n"
ligne2 = "Options Indexes FollowSymLinks Includes MultiViews ExecCGI \n"
ligne3 = "AllowOverride None \n"
ligne4 = "Order allow,deny \n"
ligne5 = "Allow from all \n"
ligne6 = </Directory> \n"
#j'ajoute mes lignes au fichier http.conf
echo $ligne1 >> /opt/lampp/etc/httpd.conf
echo $ligne2 >> /opt/lampp/etc/httpd.conf
echo $ligne3 >> /opt/lampp/etc/httpd.conf
echo $ligne4 >> /opt/lampp/etc/httpd.conf
echo $ligne5 >> /opt/lampp/etc/httpd.conf
echo $ligne6 >> /opt/lampp/etc/httpd.conf

Bon courage
Répondre à fablac

6


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
bob031, le mercredi 15 décembre 2004 à 19:46:05
Salut Ahmed S.,

Je suis curieux de savoir si tes séquences sont en "local" ou sur des bases de données publiques.
D'autant plus que curieux que je fais un peu de "bio-info" et que je suis sous Mdk 9.0.

bob031
Répondre à bob031

7


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Ahmed S., le mercredi 15 décembre 2004 à 22:33:18
Salut bob,

Les séquences que j'utilise sont en fait des compilations (mélange) de séquences collectées à partir des banques publiques mais elles sont en "local" comme tu dis.

Voila, j'espère satisfaire ta curiosité !!

A mon tour, je voudrais bien savoir que veux tu dire par peu de bio info sous Mdk 9.0 c'est à dire té étudiant, prof, ingénieur, ... ?

@+

Ahmed S.
Répondre à Ahmed S.

8


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 bob031, le jeudi 16 décembre 2004 à 19:13:36
Salut Ahmed,

Disons que j'essaie de me parfaire à la bio-informatique "chez moi" sous Mdk 9.0.
Sinon mon parcours est très biologie moléculaire + petite formation en informatique ( programmation C,C++, bases de données, un peu d'administration, un peu de réseau).
Voilà pour résumé !!!!!

Bon courage,

bob
Répondre à bob031
Logiciels pertinents trouvés dans les téléchargements
Télécharger GPG 1.4.7GPG - GPG (GNU privacy guard) est une alternative libre au logiciel PGP. Ce logiciel permet de chiffrer des documents avec un haut...Catégorie: Chiffrement
Licence: Open Source
Télécharger SSH Secure Shell 3.0 build 203SSH Secure Shell - SSH secure shell for workstations est un client SSH flexible permettant de se connecter de façon sécurisée à des...Catégorie: Telnet/SSH
Licence: Open Source
Télécharger All In One Video Script 1.0All In One Video Script - All In One Video Script est un script pour l'extension GreaseMonkey pour le navigateur Firefox permettant de détecter la...Catégorie: Vidéo
Licence: Freeware/gratuit
Télécharger Ghostscript 8.61Ghostscript - Ghostscript est le nom d'un ensemble d'outils fournissant : Un interpréteur pour le langage PostScript (TM), offrant la...Catégorie: Postscript (PS)
Licence: Freeware/gratuit
Plus de logiciels gratuits sur « Script shell écriture dans un fichier »