The UNIX and Linux Forums  


Go Back   Les systèmes UNIX et Linux Forums > Top Forums > De programmation et de script Shell
.
google unix.com



De programmation et de script Shell Posez vos questions à propos de KSH, CSH, SH, BASH, PERL, PHP, SED, awk et d'autres scripts shell et les langages de script shell ici.

Plus d'UNIX et Linux Forum Sujets Vous trouverez peut-être utile
Fil Thread Starter Forum Réponses Last Post
Insérer du texte au début de fichier netwolf High Level Programming 3 05-27-2008 01:20 PM
Comment insérer du texte au milieu d'un fichier kartikkumar84 @ g UNIX pour les nuls Questions et réponses 6 05-10-2008 03:35 PM
insérer un texte dans un fichier log Bucci De programmation et de script Shell 4 05-09-2007 08:19 AM
insérer du texte en début de fichier jimbob De programmation et de script Shell 1 09-22-2006 06:46 PM
insérer un texte dans un fichier dynamique Sunbird UNIX pour les nuls Questions et réponses 2 11-05-2001 10:58 AM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Recherche sur ce Thread Rate Thread Modes d'affichage
  #1 (permalink)  
Old 06-20-2002
MBGPS MBGPS is offline
Registered User
  
 

Date d'inscription: juin 2002
Lieu: London, UK
Posts: 14
SED-Insérer le texte au début du fichier

Est-ce que quelqu'un sais comment insérer du texte en haut et en bas d'un fichier à l'aide sed?
  #2 (permalink)  
Old 06-20-2002
peter.herlihy peter.herlihy is offline
Registered User
  
 

Join Date: Nov 2001
Lieu: Nouvelle-Zélande
Messages: 333
De l'utilisation de la ligne de commande
(Notez que ces derniers doivent être complétés sur des lignes distinctes.)
Ce sera à insérer à la première ligne du fichier.

sed '1 I \
votre texte est ici 'nom_fichier> new_filename


Cela permettra d'ajouter à la dernière ligne du fichier.
sed '$ a \
votre texte est ici 'nom_fichier> new_filename


Notez également que, avec sed vous avez à diriger la production et de renommer le fichier. So 'new_filename mv file_name' quand vous avez fini avec ces commandes.
  #3 (permalink)  
Old 06-26-2002
MBGPS MBGPS is offline
Registered User
  
 

Date d'inscription: juin 2002
Lieu: London, UK
Posts: 14
Angry

Cool cela semble fonctionner. Le problème que j'ai maintenant, c'est que la chaîne, je suis en train d'insérer contient le caractère qui est en conflit avec la sed '1 I \ ligne. Ordaniril ils ignorés.

Si je tente d'échapper à cette chaîne:

sed '1 I \
EXEC PR_DbConfigStart \ 'test.txt \', \ "10 \ ', \' DESCRIPTION \ '\
GO '<$ FILENAME> $ TMPFILENAME

Je reçois ce message d'erreur
erreur de syntaxe à la ligne 8: `''inégalée

si j'essaie de construire la chaîne de caractères dans une variable d'environnement et de compter sur la substitution, la chaîne ne semble nt à remplacer.


DBCONFIGSTART \u003d "EXEC PR_DbConfigStart 'test.txt','10 ',' description '\ ONG"

sed '1 I \
$ DBCONFIGSTART '<test2.txt

la production de ce produit

$ DBCONFIGSTART
reste du fichier texte.

Quelqu'un at-il une idée comment je peux résoudre ce
  #4 (permalink)  
Old 06-26-2002
peter.herlihy peter.herlihy is offline
Registered User
  
 

Join Date: Nov 2001
Lieu: Nouvelle-Zélande
Messages: 333
Généralement en unix, vous aurez besoin d'échanger des guillemets et apostrophes - lorsque l'une ou l'autre sont utilisés dans .. comme ça.

Donc, avec la sed utiliser la commande:

sed "1i \
votre texte a des apostrophes dans l'ici "nom_fichier> new_filename
  #5 (permalink)  
Old 06-27-2002
MBGPS MBGPS is offline
Registered User
  
 

Date d'inscription: juin 2002
Lieu: London, UK
Posts: 14
Ouch,

J'obtiens l'erreur:
sed: Commande brouillé: 1iEXEC PR_DbConfigStart 'test.txt','10 ',' description '

quand j'ai essayer.

Voici le script en utilisant im

#! / usr / bin / ksh
FILENAME \u003d test2.txt
TMP \u003d. $ TMP
TMPFILENAME \u003d $ FILENAME $ TMP
sed -e "1i \
EXEC PR_DbConfigStart 'un texte','10 ',' description ' "<$ FILENAME> $ TMPFILENAME
  #6 (permalink)  
Old 06-27-2002
Perderabo's Avatar
Perderabo Perderabo is offline Forum Staff  
Unix Daemon
  
 

Join Date: Aug 2001
Location: Ashburn, Virginia
Posts: 9131
Vous avez besoin d'un deuxième anti-slash:
sed -e "1i \ \
  #7 (permalink)  
Old 07-01-2002
MBGPS MBGPS is offline
Registered User
  
 

Date d'inscription: juin 2002
Lieu: London, UK
Posts: 14
Qu'en est-il de la déclaration qui ajoute des données à la fin du fichier?

sed "$ a \ \
PR_DbConfigEnd $ FILENAME "<$ FILENAME> $ TMPFILENAME

J'ai le message d'erreur:

sed: Commande brouillé: \


Si je retire la deuxième backslash:

sed "$ a \
PR_DbConfigEnd $ FILENAME "<$ FILENAME> $ TMPFILENAME


J'obtiens ce message d'erreur:

sed: Commande brouillé: PR_DbConfigEnd test2.txt
Closed Thread

Bookmarks

Thread Tools Recherche sur ce Thread
Recherche sur ce Thread:

Recherche avancée
Modes d'affichage Rate this thread
Rate this thread:

Règles de messages
Tu mai pas de nouvelles discussions: nonoui
Tu mai pas envoyer des réponses:
Tu mai pas envoyer des pièces jointes
Tu mai pas modifier vos messages

BB code est Sur
Smilies sont Sur
[IMG] code est Sur
Le code HTML est Hors tension
Trackbacks sont Sur
Pingbacks sont Sur
Refbacks sont Sur




Toutes les heures sont au format GMT -4. Le temps est maintenant 12:28 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traductions Langue Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
Les systèmes UNIX et Linux Forums Content Copyright © 1993-2009. Tous droits Reserved.Ad de gestion par RedTyger

Content Relevant URLs par vBSEO 3.2.0