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
Piping Frage mtobin1987 High-Level-Programmierung 2 04-26-2008 12:24 AM
Grep Frage. saurabhsinha23 UNIX for Dummies Questions & Answers 3 12-11-2007 01:58 AM
Rohrleitungen der Ausgabe von FIND-Kommando zu grep 435 Gavea UNIX for Dummies Questions & Answers 1 10-05-2006 05:48 PM
Grep Frage nazri76 UNIX for Dummies Questions & Answers 3 08-18-2006 10:40 AM
grep Frage raje17 Shell Programmierung und Scripting 3 04-11-2006 08:25 PM

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 02-28-2008
dyrt dyrt is offline
Registrierte Nutzer
  
 

Join Date: Feb 2008
Beiträge: 1
Frage zu grep, geschnitten, und Rohrleitungen

Howdy Folks,

Ich bin ziemlich neu in Scripting, aber verloren haben, der Erfahrung in C + +, Pascal, und ein paar andere. Ich versuche, eine Datei Suche Skript, das ist eine Datei mit Daten zu suchen, dass ist wie dieser

"id", "Name", "Rating"
"1", "bob", "7"
etc

und ein Argument zu suchen, wie z. B. Name \u003d bob. Mein Problem ist, dass ID-und Bewertungssysteme sind numerische so eine einfache grep wird nicht funktionieren, so muss ich suche das richtige Feld für die richtigen Daten. Ich muss dann ein Skript (das habe ich bereits geschrieben und getestet, um zu funktionieren), die die Zeilennummern und den Dateinamen, um die Zeilen, die mit. Es ist dort, wo ich stecken.

Haben Sie Vorschläge, wie kann ich richtig nur die Zeilen, wo es das entsprechende Feld mit? Ich kann nur vergessen, die Druckzeilen Skript, wenn es einen einfacheren Weg, die ich verpasst. Vielen Dank für jede Hilfe!

Mike
  #2 (permalink)  
Old 02-28-2008
Smiling Dragon's Avatar
Smiling Dragon Smiling Dragon is offline Forum Advisor  
Unorganisiert User
  
 

Join Date: Nov 2007
Ort: Neuseeland
Beiträge: 922
Post


Code:
#!/bin/sh
file=$1
field=`echo $2 | cut -d '=' -f 1`
value=`echo $2 | cut -d '=' -f 2`
fields=`head -1 $file`

fieldnum=0
thisfield=""
while [ "$thisfield" != "$field" ]
do
  fieldnum=`expr $fieldnum + 1`
  thisfield=`echo $fields | cut -d ',' -f $fieldnum`
done

tail +2 $file | while read line
do
  checkfield=`echo $line | cut -d ',' -f $fieldnum`
  if [ "$checkfield" = "$value" ]
  then
    echo $line
  fi
done

Ungetestet
Anwendung:
scriptname.sh filename ' "fielname" \u003d "Wert"

Beachte die Zecken zu schützen, die von doppelten Anführungszeichen.

Sie könnten vermutlich einige Smarts um zu verhindern, dass der Analyse der "Symbole auf allen, die das Ganze etwas weniger clunky.
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 01:39 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