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
Convertir fichier variable fixé fichier. abhi9845 De programmation et de script Shell 9 09-24-2008 09:07 AM
Convertir fichier variable fixé fichier. abhi9845 UNIX pour les nuls Questions et réponses 1 09-15-2008 08:07 AM
variable dans le fichier de dos chssastry Windows et DOS: Questions & Discussions 6 08-29-2008 03:38 AM
variable dans le fichier pppswing De programmation et de script Shell 2 07-02-2008 05:55 AM
comment joindre une variable à partir de la 2e à la 1re file fichier lo tan De programmation et de script Shell 5 06-03-2008 03:58 AM

Reply
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 Rating: Thread Rating: 1 votes, 5.00 average. Modes d'affichage
  #1 (permalink)  
Old 05-13-2009
Mr.Lauren Mr.Lauren is offline
Registered User
  
 

Date d'inscription: avril 2009
Messages: 3
sed-i 7 c \ $ variable 'file ....(?!@#$%^&*!)

J'ai essayé tout ce que je peux penser à sed de changer la ligne d'un fichier avec le contenu d'une variable. J'ai Googled l'Internet, et je trouve beaucoup de gens disent comment utiliser des variables avec le "suppléant" de commande, mais aucun ne raconte comment utiliser des variables avec le "changement" de commande.

J'ai examiné la possibilité d'utiliser le "suppléant" de commande avec une wild card pour le texte existant, mais ma recherche de l'Internet me dit SED n'a pas de joker dans son répertoire, il est difficile! Il doit y avoir une meilleure façon.

Comme je l'ai noté dans le sujet, la forme de base que j'utilise (où N est un numéro de ligne):

Code:
sed -i 'N c\$variable' FILE

Est-ce possible, ou est-il une autre commande qui va le faire? Je travaille dans les scripts bash.

Merci!
  #2 (permalink)  
Old 05-13-2009
Franklin52 Franklin52 is online now Forum Staff  
Modérateur
  
 

Join Date: Feb 2007
Posts: 4338
Utilisez les guillemets, les guillemets simples d'empêcher le shell d'étendre la variable:


Code:
sed -i "N c $variable" FILE

  #3 (permalink)  
Old 05-13-2009
devtakh devtakh is offline
Registered User
  
 

Join Date: Oct 2007
Lieu: Bangalore
Messages: 514

Code:
sed  "N c $variable" FILE

  #4 (permalink)  
Old 05-14-2009
Mr.Lauren Mr.Lauren is offline
Registered User
  
 

Date d'inscription: avril 2009
Messages: 3
Oui! It works! Merci Franklin (et devtakh)! Quel soulagement - de mieux qu'un cadeau de Noël!

C'est vraiment une surprise pour moi parce que j'ai pris la difficile configuration citation a été "coulée dans le béton". Je dois l'admettre, cependant, que mes conclusions sont venus à la lecture de divers commentaires au cours de mes recherches sur Internet "sed». Le manuel est très vague sur ce sujet. Maintenant, avec le recul, je vois que à la fin du manuel, il est fait référence à la sed site où le problème des variables est discutée longuement! Si j'avais vu que dans la première place, j'aurais probablement pu avoir tout compris, et de ne pas gaspiller l'espace sur le Forum.

Mais vous n'avez même pas utiliser le "\"! Que je n'aurais pas conclu dans le manuel. Je suppose que cela prouve combien il ya de nombreuses façons de faire les choses. Je vais revenir à la sed site Web et de faire un peu plus d'étude. Je suis sûr reconnaissants de la fonction qui "sed"Fournit.

En passant, j'ai jamais été aussi grande aux yeux lorsque j'ai découvert Zenity, après avoir vu, il fait référence sur le web, et a alors découvert qu'il était déjà installé! Étonnant!

Merci encore beaucoup.
Lauren.
  #5 (permalink)  
Old 07-03-2009
jansonx jansonx is offline
Registered User
  
 

Date d'inscription: juin 2009
Messages: 1
Question Il ne semble pas bien fonctionner sous Solaris

Tout d'abord, l'option-i n'est pas pris en charge, au-dessus de la sed -i "c N $ var" datafile n'est pas portable.
Deuxièmement, même si l'option-i ne sont pas fournis, à l'aide sed -i "N c [\] $ var" datafile, encore qu'il ne peut pas travailler.
La solution serait peut-être,
sed "N c \ \
$ var "datafile
qui je l'ai testé sous Solaris.

John, Hong

ps
sed "N s /.*/$ var /" datafile également out.

Dernière édition par jansonx; au 07.03.2009 07:01 AM.. Motif: j'ai obtenu la réponse
Reply

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 09:46 AM.


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