The UNIX and Linux Forums  
Hallo und herzlich Willkommen aus den Vereinigten Staaten, die UNIX-und Linux-Foren! Vielen Dank für Ihren Besuch und die Teilnahme an unserem Global Community.

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
Sortieren Directory Listing Sepia UNIX for Dummies Questions & Answers 1 07-11-2007 08:44 AM
Wie kann ich Verzeichnis? haisubbu UNIX for Dummies Questions & Answers 2 08-25-2006 10:03 AM
Full Directory Listing ... B14speedfreak UNIX for Dummies Questions & Answers 5 05-11-2006 09:06 AM
Timestamp in Verzeichnisliste vijashok UNIX for Dummies Questions & Answers 2 10-06-2005 11:03 AM
Rekursive Verzeichnis Dateien ohne Eintrag psingh UNIX for Dummies Questions & Answers 4 05-10-2002 11:52 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 10-10-2008
gugs gugs is offline
Registrierte Nutzer
  
 

Join Date: Jul 2008
Beiträge: 44
Listing ein Verzeichnis über ein Skript mit Variablen

In meinem Skript brauche ich, um das Verzeichnis, in dem die generischen Namen der Dateien wird sich ändern, in meinem Fall seiner Prüfung auf test_ *. mqsc. Ich habe ein kleines Test-Skript angegeben, aber es funktioniert einfach nicht pip die Liste in eine Datei.
Jede Idee, warum?

dir \u003d "C: / cygwin / var / log / img / AUT / '
file \u003d TEST01_ *. mqsc
ls $ dir | grep "$ file"> test.txt


Wenn ich es im Debug-bekomme ich die folgende:

$ Bash-x test.sh
+ Dir \u003d C: / cygwin / var / log / img / AUT /
+ File \u003d "TEST01_ *. mqsc"
Ls + C: / cygwin / var / log / img / AUT /
+ Grep TEST01_080924.mqsc TEST01_080925.mqsc TEST01_080926.mqsc TEST01_080927.mq
SC TEST01_080928.mqsc TEST01_080929.mqsc TEST01_080930.mqsc TEST01_081001.mqsc T
EST01_081002.mqsc TEST01_081003.mqsc TEST01_081004.mqsc TEST01_081005.mqsc test0
1_081006.mqsc TEST01_081007.mqsc TEST01_081008.mqsc TEST01_081009.mqsc TEST01_08
1010.mqsc
+ RC \u003d 1
+ Echo 'Return-Code lautet: 1'
Return-Code ist: 1
  #2 (permalink)  
Old 10-10-2008
zaxxon's Avatar
zaxxon zaxxon is offline Forum Staff  
Moderator
  
 

Join Date: Sep 2007
Ort: Deutschland
Beiträge: 2285
Ich denke, es kann nichts finden, denn man kann nicht schreiben, einen regulären Ausdruck für grep wie Sie in der Shell-Metazeichen. Versuchen Sie folgendes:
Code:
file="TEST01_.*\.mqsc"
Ihr ehemaliger Code bedeutet _ * steht für null oder <n> Vorkommen _. Und nur einen Punkt bedeutet ein beliebiges Zeichen, nicht einen Punkt. Also den Punkt zu entkommen.

Oh, und vielleicht mit "ls -1" zu haben, 1 Datei pro Zeile.
  #3 (permalink)  
Old 10-10-2008
gugs gugs is offline
Registrierte Nutzer
  
 

Join Date: Jul 2008
Beiträge: 44
Ich immer noch das gleiche Ergebnis

Ich ausgeführt, die folgenden:

file \u003d "TEST01_ * \. mqsc"
ls -1 $ dir | grep $ file> test.txt
rc \u003d $?
echo "Return-Code ist: $ rc"

Das Ergebnis war:

$ Bash-x test.sh
+ Delete_files \u003d 'TEST01_ *. mqsc "
+ File \u003d "TEST01_ * \. Mqsc"
+ Ls -1 C: / cygwin / var / log / img / AUT /
+ Grep TEST01_080924.mqsc TEST01_080925.mqsc TEST01_080926.mqsc TEST01_080927.mq
SC TEST01_080928.mqsc TEST01_080929.mqsc TEST01_080930.mqsc TEST01_081001.mqsc T
EST01_081002.mqsc TEST01_081003.mqsc TEST01_081004.mqsc TEST01_081005.mqsc test0
1_081006.mqsc TEST01_081007.mqsc TEST01_081008.mqsc TEST01_081009.mqsc TEST01_08
1010.mqsc
+ RC \u003d 1
+ Echo 'Return-Code lautet: 1'
Return-Code ist: 1
  #4 (permalink)  
Old 10-10-2008
zaxxon's Avatar
zaxxon zaxxon is offline Forum Staff  
Moderator
  
 

Join Date: Sep 2007
Ort: Deutschland
Beiträge: 2285
Was bedeutet
Code:
ls -1 C:/cygwin/var/log/img/aut/ | grep TEST01_*\.mqsc
an der Eingabeaufforderung zeigen?
  #5 (permalink)  
Old 10-10-2008
gugs gugs is offline
Registrierte Nutzer
  
 

Join Date: Jul 2008
Beiträge: 44
Ich war nicht korrekt

ls -1 C: / cygwin / var / log / img / AUT / | grep TEST01_ * \. mqsc erzeugt keine Ausgabe.

Wie dem auch sei, statt file \u003d "TEST01_ *. mqsc", file \u003d "test01" sollte ausreichen, da ich nur in Dateien, die mit "TEST", * ist für das Datum und die. mqsc ist für alle Dateien.


Allerdings war ich eine dumme Fehler im Skript. Alles, was ich tun musste, war:

file \u003d "test01"
echo "File \u003d $ file"
ls -1 $ dir | grep "$ file"> test.txt

Vielen Dank für Ihre Hilfe mir!
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 08:56 PM.


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