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
String Streichung, variable Inhalte, feste Trennzeichen rebelbuttmunch Shell Programmierung und Scripting 2 03-24-2009 07:44 AM
C-Programm zum Extrahieren von Text zwischen zwei Begrenzungszeichen von einigen Text-Datei kukretiabhi13 High-Level-Programmierung 7 12-03-2008 06:29 PM
Wie Daten aus einer Textdatei im Unix - shikhakaul Shell Programmierung und Scripting 4 01-25-2008 11:20 AM
Konvertierung von XML-Datei in Text-Datei (feste Länge) ram2s2001 Shell Programmierung und Scripting 0 11-03-2005 01:28 AM
Einfügen von neuen Zeile nach mit einer bestimmten Zeichenfolge sunil_neha Shell Programmierung und Scripting 6 04-13-2004 11:09 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 Suche diesen Thread Rate Thread Anzeige-Modi
  #1 (permalink)  
Old 05-27-2009
nareshk nareshk is offline
Registrierte Nutzer
  
 

Registriert seit: Mai 2009
Beiträge: 3
Holt die Reihen mit Spiel String auf eine feste Länge Textdatei - NEIN Trennzeichen

Hi

Ich versuche, holen die Zeilen mit mit String "0000001234"

Input-Datei sieht wie folgt:

09 0 XXX 0000001234 Z 1
09 0 XXX 0000001234 Z 1
09 0 XXX 0000001234 Z 1
09 0 XXX 0000001234 Z 1
09 0 XXX 0000001234 Z 1
09 0 XXX 0000001234 Z 1

hier ist das Szenario, wie wir brauchen, holen die Zeilen mit Spiel-String "0000001234" und drucken Sie die Zeilen in einer separaten Datei ...

Ich habe versucht mit grep Befehl von grep ^ 09 Datei> Ausgabedatei es funktioniert nur, wenn der String zuerst beginnt.

Bitte kann mir jemand helfen, wie wir dies tun können, ...
  #2 (permalink)  
Old 05-27-2009
Rhije Rhije is offline
Registrierte Nutzer
  
 

Join Date: Dezember 2008
Beiträge: 103
grep wird auf einer Strecke, so dass grep ^ 09 tut genau das, was Sie gefragt, es zu tun, indem sie jede Zeile, beginnt mit 09

Sie haben wahrscheinlich verwenden wollen awk, wäre es die einfachste Sache zu tun. Wenn die Daten in das gleiche Format, die Sie, Sie könnten etwas tun, wie die folgenden:

Code:
awk '$4 == "0000001234"' file
Standardmäßig (wenn du das nicht sagen, awk, um etwas spezifisch), wird die gesamte Aufzeichnung / Zeile. So wird nur die oben Drucken eine Zeile, wenn die vierte Bereich ist es, was wird angezeigt.

Sie können auch in Wort Grenzen grep:

Code:
-bash-3.2$ cat test.txt
09 0 XXX 0000001234 Z 1
09 0 XXX 0000001234 Z 1
09 0 XXX 50000001234 Z 1
09 0 XXX 40000001234 Z 1
09 0 XXX 30000001234 Z 1
09 0 XXX 10000001234 Z 1

-bash-3.2$ grep "\<0000001234\>" test.txt
09 0 XXX 0000001234 Z 1
09 0 XXX 0000001234 Z 1
Hope that helps.
  #3 (permalink)  
Old 05-27-2009
nareshk nareshk is offline
Registrierte Nutzer
  
 

Registriert seit: Mai 2009
Beiträge: 3
Zitat:
Zitat von Rhije View Post
grep wird auf einer Strecke, so dass grep ^ 09 tut genau das, was Sie gefragt, es zu tun, indem sie jede Zeile, beginnt mit 09

Sie haben wahrscheinlich verwenden wollen awk, wäre es die einfachste Sache zu tun. Wenn die Daten in das gleiche Format, die Sie, Sie könnten etwas tun, wie die folgenden:

Code:
awk '$4 == "0000001234"' file
Standardmäßig (wenn du das nicht sagen, awk, um etwas spezifisch), wird die gesamte Aufzeichnung / Zeile. So wird nur die oben Drucken eine Zeile, wenn die vierte Bereich ist es, was wird angezeigt.

Sie können auch in Wort Grenzen grep:

Code:
-bash-3.2$ cat test.txt
09 0 XXX 0000001234 Z 1
09 0 XXX 0000001234 Z 1
09 0 XXX 50000001234 Z 1
09 0 XXX 40000001234 Z 1
09 0 XXX 30000001234 Z 1
09 0 XXX 10000001234 Z 1

-bash-3.2$ grep "\<0000001234\>" test.txt
09 0 XXX 0000001234 Z 1
09 0 XXX 0000001234 Z 1
Hope that helps.

Vielen Dank für Ihre Hilfe

Was passiert, wenn die Eingabe-Datei ist wie folgt

09 0 01000000001234 Z 1
09 0 01000000001234 Z 1
09 0 010050000001234 Z 1
09 0 010040000001234 Z 1
09 0 010030000001234 Z 1
09 0 010010000001234 Z 1

und jetzt möchte ich die Zeilen mit fetch mit String "0000001234", dh die Suche der Zeichenkette vom 10. Spalte zur 19. Spalte und holen den Zeilen
  #4 (permalink)  
Old 05-27-2009
durden_tyler's Avatar
durden_tyler durden_tyler is offline Forum Advisor  
Registrierte Nutzer
  
 

Join Date: Apr 2009
Beiträge: 519
Zitat:
Zitat von nareshk View Post
... was ist, wenn die Eingabe-Datei ist wie folgt

09 0 01000000001234 Z 1
09 0 01000000001234 Z 1
09 0 010050000001234 Z 1
09 0 010040000001234 Z 1
09 0 010030000001234 Z 1
09 0 010010000001234 Z 1

und jetzt möchte ich die Zeilen mit fetch mit String "0000001234", dh die Suche der Zeichenkette vom 10. Spalte zur 19. Spalte und holen den Zeilen
Etwa so:

Code:
$
$ awk 'substr($0,10,10) == "0000001234"' input.txt
09 0 01000000001234 Z 1
09 0 01000000001234 Z 1
$

tyler_durden

Zuletzt bearbeitet von durden_tyler; am 05-27-2009 05:34 PM..
  #5 (permalink)  
Old 05-27-2009
nareshk nareshk is offline
Registrierte Nutzer
  
 

Registriert seit: Mai 2009
Beiträge: 3
Zitat:
Zitat von durden_tyler View Post
Etwa so:

Code:
$
$ awk 'substr($0,10,10) == "0000001234"' input.txt
09 0 01000000001234 Z 1
09 0 01000000001234 Z 1
$
tyler_durden
Danke Jungs!

Dies half mir sehr!
  #6 (permalink)  
Old 05-27-2009
devtakh devtakh is offline
Registrierte Nutzer
  
 

Join Date: Oct 2007
Ort: Bangalore
Beiträge: 514
Code:
grep "\<0000001234\>" file > newfile

-Devaraj Takhellambam
  #7 (permalink)  
Old 05-27-2009
Rhije Rhije is offline
Registrierte Nutzer
  
 

Join Date: Dezember 2008
Beiträge: 103
Nun, Sie können auch einfach tun:

Code:
awk '$3 ~ /0000001234/' file
Reply

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 06:52 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