The UNIX and Linux Forums  

Go Back   Die UNIX-und Linux-Foren > Top Foren > Shell Programmierung und Scripting
.
Google unix.com



Shell Programmierung und Scripting Post Fragen zu ksh, csh, sh, bash, Perl, PHP, sed, awk und anderen Shell-Skripte und Shell-Scripting-Sprachen hier.

Mehr UNIX-und Linux-Forum Themen Vielleicht finden Sie hilfreiche
Faden Thread Starter Forum Antworten Last Post
Doppel-Variable Erklärung kotasateesh Shell Programmierung und Scripting 3 08-31-2007 06:29 AM
Escape-Zeichen für Anführungszeichen navik_pathak Shell Programmierung und Scripting 1 01-05-2007 02:34 PM
Einzel-oder Doppel-Zitat in der SED Asami Shell Programmierung und Scripting 2 07-17-2006 04:03 AM
Anführungszeichen innerhalb einer Variable burton_1080 Shell Programmierung und Scripting 4 12-01-2005 01:44 PM
Doppel-Variablen-Ersetzung asal_email2 UNIX for Dummies Questions & Answers 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 Suche diesen Thread Rate Thread Anzeige-Modi
  #1 (permalink)  
Old 03-17-2008
mattemp mattemp is offline
Registrierte Nutzer
  
 

Join Date: März 2008
Beiträge: 2
Problem mit doppelten Anführungszeichen und String-Variable

Hallo,

Ich habe eine Datei output.txt enthält eine Zeile mit einer Liste der Dateien mit Zitaten:
"file1.ext" "file2.ext" "file3.ext"

In einer Shell-Skript, ich will, um die Zeile und verwenden Sie es als Variable in einem Befehl wie:
zip archive.zip $ LISTE

I cant get it Arbeit. Wenn ich physisch geben Sie den Befehl zip archive.zip "file1.ext" "file2.ext" "file3.ext", es funktioniert gut, aber wenn ich versuche, mit einem String-Variable Ich erhalte eine Fehlermeldung.

Gibt es eine richtige Art und Weise zu tun?
Danke!
  #2 (permalink)  
Old 03-17-2008
Ära
Gast
  
 

Beiträge: n / a
Bits: 0 [Banking]
Wenn Sie es auf der Befehlszeile, die Anführungszeichen sind nicht an zip. Wenn Sie ein Skript (zeigen!) Dann, wenn es vorbei ist in Anführungszeichen, damit sie sieht, zip, stop doing that.

Wenn Sie die Kontrolle über die Sache, die die Ausgabe-Datei erzeugt, die es mit einer weniger zany Format. Sehen Sie, wie xargs ist es, das ist wohl ein gutes Modell für Sie.
  #3 (permalink)  
Old 03-17-2008
KevinADC KevinADC is offline Forum Advisor  
Registrierte Nutzer
  
 

Join Date: Jan 2008
Beiträge: 731
Zitat:
Ich habe eine Datei output.txt enthält eine Zeile mit einer Liste der Dateien mit Zitaten:
"file1.ext" "file2.ext" "file3.ext"
Öffnen Sie die Datei und entfernen Sie die Anführungszeichen, wenn Sie haben keine Kontrolle über das Format der Datei. Dann teilen Sie die Felder auf die Räume, um eine Liste der Dateien, um auf die Zip-Funktion.

Veröffentlichen Sie Ihre aktuellen Code (oder einfach nur den entsprechenden Teil) für weitere Hilfe.
  #4 (permalink)  
Old 03-17-2008
mattemp mattemp is offline
Registrierte Nutzer
  
 

Join Date: März 2008
Beiträge: 2
Zitat:
Zitat von KevinADC View Post
Öffnen Sie die Datei und entfernen Sie die Anführungszeichen, wenn Sie haben keine Kontrolle über das Format der Datei. Dann teilen Sie die Felder auf die Räume, um eine Liste der Dateien, um auf die Zip-Funktion.

Veröffentlichen Sie Ihre aktuellen Code (oder einfach nur den entsprechenden Teil) für weitere Hilfe.
Hier ist der Teil, wo ich mein Skript-Dateien müssen meine Liste:
Code:
LIST=$(tail -1 $FILE)
cvs log -N -r$rev1:$rev2 $LIST > changelog.txt
Meine Datei sieht wie folgt aus:
Code:
"java/file1.java" "java/file2.java" "java/file3.java" "java/file4.java" "java/file5.java"
Es ist die Ausgabe eines XSLT-Verarbeitung, so habe ich die Kontrolle über sie. Ich kann eine Datei, die wie folgt aussieht, ohne Anführungszeichen, und mein Skript funktioniert:
Code:
java/file1.java java/file2.java java/file3.java java/file4.java java/file5.java
Aber ich wollte wickeln die Dateinamen um Angebote für den Fall, einige der Dateinamen Leerzeichen enthalten.

Vielleicht sollte ich nur auf meinem XSL-Stylesheet, um zu entkommen Leerzeichen im Dateinamen?
  #5 (permalink)  
Old 03-18-2008
Ära
Gast
  
 

Beiträge: n / a
Bits: 0 [Banking]
Oder, wenn Sie die Möglichkeit haben, machen sie zu einer Datei pro Zeile (und Gedanken über Dateinamen mit Zeilenumbrüche in ihnen statt ...).

xargs hat eine Option zur Nutzung einer Null (ASCII 0x00) Terminator für diesem Fall. (Nullstellen und Schrägstriche sind die beiden einzigen Zeichen, die ausgeschlossen Eintrag im Verzeichnis-Namen.)
  #6 (permalink)  
Old 03-18-2008
yunccll yunccll is offline
Registrierte Nutzer
  
 

Join Date: März 2008
Beiträge: 23
Wenn Sie möchten, dass für diese Aufgabe mit Skript, können Sie versuchen, Code wie folgt:
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
Registrierte Nutzer
  
 

Join Date: Jan 2008
Beiträge: 11
Problem mit doppelten Anführungszeichen und String-Variable

Hier ist eine schnelle Lösung für Ihr Skript

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

-Ramesh
Closed Thread

Lesezeichen

Thread Tools Suche diesen Thread
Suche diesen Thread:

Erweiterte Suche
Anzeige-Modi Rate this thread
Rate this thread:

Forumregeln
Du möglicherweise nicht neue Themen
Du möglicherweise nicht nach Antworten
Du möglicherweise nicht post-Anlagen
Du möglicherweise nicht bearbeiten Sie Ihre Beiträge

BB-Code ist Auf
Smilies sind Auf
[IMG] Code Auf
HTML-Code ist Aus
Trackbacks sind Auf
Pingbacks sind Auf
Refbacks sind Auf




Alle Zeiten sind GMT -4. Es ist jetzt 09:51 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Ltd. Sprachliche Übersetzungen Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
Die UNIX-und Linux-Foren Content © Copyright 1993-2009. Alle Rechte Reserved.Ad Management von RedTyger

Content Relevant URLs durch vBSEO 3.2.0