![]() |
|
|
Google unix.com
|
|||||||
| Foren | Registrieren | Forum-Regeln | Links | Alben | FAQ | Benutzerliste | Kalender | Suche | Die heutige Beiträge | Alle Foren als gelesen markieren |
| UNIX for Dummies Questions & Answers Wenn Sie nicht sicher sind, wo Sie eine UNIX-oder Linux-Frage, post it here. Alle UNIX-und Linux-Anfänger willkommen! |
Mehr UNIX-und Linux-Forum Themen Vielleicht finden Sie hilfreiche
|
||||
| Faden | Thread Starter | Forum | Antworten | Last Post |
| Auswahl nur ein paar Zeilen von vielen auf der Grundlage eines gemeinsamen Muster | damansingh | Shell Programmierung und Scripting | 2 | 05-28-2008 07:29 AM |
| Hilfe bei der Auswahl bestimmter Zeilen in eine große Datei | tansha | UNIX for Dummies Questions & Answers | 2 | 02-06-2008 08:26 AM |
| Dringend: einzigartige Auswahl spezifischer Inhalt einer Datei mit dem Shell-Skript | jisha | Shell Programmierung und Scripting | 2 | 01-08-2008 08:45 AM |
| Brauchen Sie Hilfe - Skript zu filtern bestimmte Zeilen aus mehreren txt-Dateien | I-1 | Shell Programmierung und Scripting | 7 | 02-16-2007 08:42 PM |
| Shell-Skript zu lesen, bestimmte Zeilen in einer Datei | varshanswamy | Shell Programmierung und Scripting | 5 | 08-22-2005 08:12 PM |
![]() |
|
|
LinkBack | Thread Tools | Suche diesen Thread | Rate Thread | Anzeige-Modi |
|
|
|
||||
|
Befehl für die Auswahl von bestimmten Zeilen ein Skript
Ich brauche Hilfe auf folgende Skript:
Ich brauche, um die Linien, die in Fettschrift in separaten Datei als Rekord String ("|") emp_name; String ("|") emp_id; decimal ("|") emp_salary; String ("|") emp_status; string ( "\ n") emp_proj; Ende Obigen Zeilen beziehen sich auf Datei $ (_AB_PROXY_DIR) " '/ rf_emp_status_emp_proj-3.dml, der in 19. Zeile im Skript unten. Die Frage ist, brauche ich, um nur bestimmte Linien, die in Fettschrift in separaten Datei. In unter-Script finden Sie ein Feld Rekord werden mehrere Male wiederholt. Ich brauche, um alle, dass diese Zeilen ausRekord Feld Ende der Datei $ (_AB_PROXY_DIR) " '/ rf_emp_status_emp_proj-3.dml. Bitte können Sie helfen, dass zum Senden von fett Schreiben Felder in separaten Datei. Ich bin highliting alle Linien, die in unter-Skript, welches ich in separaten Datei, in roter Farbe print-r - "Rekord String ("|") emp_name; String ("|") emp_id; dezimal ( "\ n") emp_salary; Ende ">" $ (_AB_PROXY_DIR) " '/ in_emp_data-1.dml" print-r - '/ * Neu * Betrieb / out:: neu (in) \u003d beginnen aus .*:: * in.; out.emp_status:: if (next_in_sequence () <3) "A" else "D"; out.emp_proj:: "ABC"; end; ">" $ (_AB_PROXY_DIR) " '/ rf_emp_status_emp_proj-2.xfr" print-r -- "Rekord String ("|") emp_name; String ("|") emp_id; decimal ("|") emp_salary; String ("|") emp_status; string ( "\ n") emp_proj; Ende, ">" $ (_AB_PROXY_DIR) " '/ Rf_emp_status_emp_proj-3.dml" print-r - '/ * Neu * Betrieb / out:: neu (in) \u003d beginnen aus .*:: * in.; out.emp_loc:: "USA"; end; ">" $ (_AB_PROXY_DIR) " '/ rf_emp_location-4.xfr" print-r - "Rekord String ("|") emp_name; String ("|") emp_id; String ("|") emp_salary; String ("|") emp_status; String ("|") emp_proj; string ( "\ n") emp_loc; end; ">" $ (_AB_PROXY_DIR) " '/ rf_emp_location-5.dml" Danke, gangadhar. |
|
||||
|
Was ist das Kriterium für die Entscheidung, welcher Teil der Datei zu extrahieren? Der Name der Ausgabedatei? Code:
perl -0777 -pe "s%;' > \"\\$\\{_AB_PROXY_DIR\\}\"'/rf_emp_status_emp_proj-3.dml'.*%%s;
s/^.*print -r -- '//s" file
Dieser liest die gesamte Datei, und ersetzt alles, was aus den passenden Dateinamen durch das Ende der Datei mit nichts, dann alles durch die letzte "print-r - '", und druckt, was bleibt. Die Angabe hat ein bißchen trickreich, mit vielen hässlichen Backslashes; gibt es Möglichkeiten, diese zu machen, dass mehr elegant, aber dies sollte hoffentlich zumindest begonnen. |
![]() |
| Lesezeichen |
| Thread Tools | Suche diesen Thread |
| Anzeige-Modi | Rate this thread |
|
|