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
double déclaration de variable kotasateesh De programmation et de script Shell 3 08-31-2007 06:29 AM
Escape Car pour le guillemet navik_pathak De programmation et de script Shell 1 01-05-2007 02:34 PM
simple ou double citation en SED Asami De programmation et de script Shell 2 07-17-2006 04:03 AM
Double Cours dans une variable burton_1080 De programmation et de script Shell 4 12-01-2005 01:44 PM
double variable de substitution asal_email2 UNIX pour les nuls Questions et réponses 1 06-14-2005 01:35 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 03-17-2008
mattemp mattemp is offline
Registered User
  
 

Join Date: Mar 2008
Messages: 2
Problème avec le double guillemet et variable de chaîne

Bonjour,

i output.txt avoir un fichier qui contient une seule ligne avec une liste de fichiers avec des guillemets:
"fichier1.ext" "fichier2.ext" "file3.ext"

Dans un shell script, je veux retrouver la ligne et l'utiliser comme une variable dans une commande comme:
zip archive.zip $ LISTE

I cant get it work. Quand je physiquement tapez la commande zip archive.zip "fichier1.ext" "fichier2.ext" "file3.ext", il fonctionne bien mais lorsque je tente d'utiliser une variable de chaîne, j'obtiens une erreur.

Existe-t-il un bon moyen de le faire?
Merci!
  #2 (permalink)  
Old 03-17-2008
ère
Guest
  
 

Messages: n / a
Bits: 0 [Banking]
Quand vous tapez sur la ligne de commande, les guillemets ne sont pas transmises à zip. Si vous utilisez un script (le montrer!), Puis si elle est de passage dans les prix de sorte que zip voit, arrêter de faire cela.

Si vous avez le contrôle sur la chose qui génère le fichier de sortie, en font une utilisation moins loufoque format. Voyez comment xargs-t-il, c'est probablement un bon modèle pour vous.
  #3 (permalink)  
Old 03-17-2008
KevinADC KevinADC is offline Forum Advisor  
Registered User
  
 

Join Date: Jan 2008
Messages: 731
Citation:
i output.txt avoir un fichier qui contient une seule ligne avec une liste de fichiers avec des guillemets:
"fichier1.ext" "fichier2.ext" "file3.ext"
ouvrir le fichier et enlever les guillemets si vous n'avez aucun contrôle sur le format de fichier. Ensuite, diviser le champs de l'espace pour créer une liste de fichiers à l'alimentation animale à la fonction zip.

Postez votre code actuel (ou juste la partie concernée) pour obtenir de l'aide.
  #4 (permalink)  
Old 03-17-2008
mattemp mattemp is offline
Registered User
  
 

Join Date: Mar 2008
Messages: 2
Citation:
Posté par KevinADC View Post
ouvrir le fichier et enlever les guillemets si vous n'avez aucun contrôle sur le format de fichier. Ensuite, diviser le champs de l'espace pour créer une liste de fichiers à l'alimentation animale à la fonction zip.

Postez votre code actuel (ou juste la partie concernée) pour obtenir de l'aide.
Voici la partie de mon script, où j'ai besoin de ma liste des fichiers:

Code:
LIST=$(tail -1 $FILE)
cvs log -N -r$rev1:$rev2 $LIST > changelog.txt

Mon fichier ressemble à ça:

Code:
"java/file1.java" "java/file2.java" "java/file3.java" "java/file4.java" "java/file5.java"

Il est le résultat d'une transformation XSLT, et je n'ai donc avoir le contrôle sur elle. Je peux générer un fichier qui ressemble à ceci, sans les guillemets et de mon script fonctionne parfaitement:

Code:
java/file1.java java/file2.java java/file3.java java/file4.java java/file5.java

Mais je voulais à envelopper les guillemets autour des noms de fichiers au cas où certains des noms de fichiers contenant des espaces.

Alors peut-être que je devrais travailler sur ma feuille de style XSL dans le but d'échapper à des espaces dans les noms de fichier?
  #5 (permalink)  
Old 03-18-2008
ère
Guest
  
 

Messages: n / a
Bits: 0 [Banking]
Ou si vous avez la possibilité, en faire un fichier par ligne (et de se soucier des noms de fichiers avec de nouvelles lignes dans leur lieu ...).

xargs a une option pour utiliser un nul (ASCII 0x00) terminateur pour ce cas particulier. (Valeurs Null et des barres obliques sont les deux seuls personnages qui sont rejetées dans le répertoire des noms.)
  #6 (permalink)  
Old 03-18-2008
yunccll yunccll is offline
Registered User
  
 

Join Date: Mar 2008
Posts: 23
si vous voulez faire ce travail avec le script, vous pouvez essayer le code comme suit:

Code:
#!/bin/bash

INFILE=output.txt

#replace the double quote with space
LIST=$(sed -e 's/\"/ /g' $INFILE)

zip archive.zip $LIST

exit 0

  #7 (permalink)  
Old 03-19-2008
faltooweb faltooweb is offline
Registered User
  
 

Join Date: Jan 2008
Messages: 11
Problème avec le double guillemet et variable de chaîne

Voici une solution rapide pour votre script

LIST \u003d $ (tail -1 $ FILE)
cvs log-N-r $ rev1: $ rev2 $ (eval $ LIST)> changelog.txt

Ramesh -
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 11:19 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