![]() |
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.
|
|
Google unix.com
|
|||||||
| Foren | Registrieren | Forum-Regeln | Links | Alben | FAQ | Benutzerliste | Kalender | Suche | Die heutige Beiträge | Alle Foren als gelesen markieren |
| 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 |
| Eingabefeld | ruben.rodrigues | Shell Programmierung und Scripting | 2 | 01-28-2009 06:17 AM |
| msg Eingabefeld | ruben.rodrigues | UNIX for Dummies Questions & Answers | 0 | 01-28-2009 04:34 AM |
| Lesen spezifische Inhalte von 1 Eingang und Anhängen von Dateien auf einen anderen Input-Datei | sksahu | Shell Programmierung und Scripting | 5 | 01-14-2009 06:09 AM |
| zuweisen Vales zu arrary | koti_rama | Shell Programmierung und Scripting | 0 | 07-24-2007 02:43 AM |
| Wie die Aufforderung zur Eingabe eingabebereit in einer Zeile | newbie168 | Shell Programmierung und Scripting | 2 | 09-27-2005 05:02 AM |
![]() |
|
|
LinkBack | Thread Tools | Suche diesen Thread | Rate Thread | Anzeige-Modi |
|
|
|
||||
|
awk-Hilfe - Eingang Täler aus der efile zu annother
Bitte siehe beigefügte Datei Test für eine bessere Erklärung und Formatierung von Dateien dank ....
foo1 Code:
H2600 LINE: H2600 H2600 H2600 MYSystems Ltd. (Feb 18 2009) V1760R1130 1 2213133522.79N 81 027.09E 500814.01502345.9 145 9 837 E1760R1130 1 2 2213133522.44N 81 027.33E 500821.11502335.1 145 9 837 Z1760R1130 11 2213133512.77N 81 031.86E 500957.51502038.3 145 9 837 Z1760R1130 12 2213133512.15N 81 030.27E 500909.81502019.1 145 9 837 R 1 501299.31502012.1 6.7 2 501303.51502000.2 6.8 3 501307.71501988.4 7.01 R 4 501311.91501976.6 7.1 5 501316.21501964.7 7.3 6 501320.41501952.9 7.41 R 7 501324.61501941.2 7.5 8 501328.91501929.3 7.5 9 501333.21501917.5 7.51 R 10 501337.41501905.7 7.5 11 501341.71501893.9 7.5 12 501346.01501882.1 7.51 V1760R1130 1 2214133523.56N 81 026.81E 500805.51502369.5 145 9 849 E1760R1130 1 2 2214133523.21N 81 027.04E 500812.61502358.7 145 9 849 Z1760R1130 11 2214133513.54N 81 031.57E 500948.61502061.8 145 9 849 Z1760R1130 12 2214133512.93N 81 029.98E 500900.81502042.9 145 9 849 R 1 501299.31502012.1 6.7 2 501303.51502000.2 6.8 3 501307.71501988.4 7.01 R 4 501311.91501976.6 7.1 5 501316.21501964.7 7.3 6 501320.41501952.9 7.41 R 7 501324.61501941.2 7.5 8 501328.91501929.3 7.5 9 501333.21501917.5 7.51 R 10 501337.41501905.7 7.5 11 501341.71501893.9 7.5 12 501346.01501882.1 7.51 V1760R1130 1 2392133740.94N 805939.69E 499389.81506589.83182.4145 94330 E1760R1130 1 2 2392133523.21N 81 027.04E 500812.61502358.7 145 9 849 Z1760R1130 11 2392133513.54N 81 031.57E 500948.61502061.8 145 9 849 Z1760R1130 12 2392133512.93N 81 029.98E 500900.81502042.9 145 9 849 foo2 Code:
key key 2213 3200 2214 3198 2392 3182 Ich möchte lesen und foo1 ersetzen Spalte 65 bis 70 mit $ 2 ab, wenn foo2 Zeile in foo1 beginnt mit V und Spalten 65 bis 70 sind leer, und wenn Spalten 22 bis 25 in foo1 mit "$ 1" von foo2. Auch die Datei foo2 nicht zu haben scheinen jede Aufzeichnung sepeator, und ich möchte NR werden in Höhe von 80 Zeichen. Also meine Ausgabedatei aussehen wird Code:
H2600 LINE: H2600 H2600 H2600 MYSystems Ltd. (Feb 18 2009) V1760R1130 1 2213133522.79N 81 027.09E 500814.01502345.93200 145 9 837 E1760R1130 1 2 2213133522.44N 81 027.33E 500821.11502335.1 145 9 837 Z1760R1130 11 2213133512.77N 81 031.86E 500957.51502038.3 145 9 837 Z1760R1130 12 2213133512.15N 81 030.27E 500909.81502019.1 145 9 837 R 1 501299.31502012.1 6.7 2 501303.51502000.2 6.8 3 501307.71501988.4 7.01 R 4 501311.91501976.6 7.1 5 501316.21501964.7 7.3 6 501320.41501952.9 7.41 R 7 501324.61501941.2 7.5 8 501328.91501929.3 7.5 9 501333.21501917.5 7.51 R 10 501337.41501905.7 7.5 11 501341.71501893.9 7.5 12 501346.01501882.1 7.51 V1760R1130 1 2214133523.56N 81 026.81E 500805.51502369.53198 145 9 849 E1760R1130 1 2 2214133523.21N 81 027.04E 500812.61502358.7 145 9 849 Z1760R1130 11 2214133513.54N 81 031.57E 500948.61502061.8 145 9 849 Z1760R1130 12 2214133512.93N 81 029.98E 500900.81502042.9 145 9 849 R 1 501299.31502012.1 6.7 2 501303.51502000.2 6.8 3 501307.71501988.4 7.01 R 4 501311.91501976.6 7.1 5 501316.21501964.7 7.3 6 501320.41501952.9 7.41 R 7 501324.61501941.2 7.5 8 501328.91501929.3 7.5 9 501333.21501917.5 7.51 R 10 501337.41501905.7 7.5 11 501341.71501893.9 7.5 12 501346.01501882.1 7.51 V1760R1130 1 2392133740.94N 805939.69E 499389.81506589.83182.4145 94330 E1760R1130 1 2 2392133523.21N 81 027.04E 500812.61502358.7 145 9 849 Z1760R1130 11 2392133513.54N 81 031.57E 500948.61502061.8 145 9 849 Z1760R1130 12 2392133512.93N 81 029.98E 500900.81502042.9 145 9 849 Zuletzt bearbeitet von Franklin52; am 05-26-2009 07:30 AM.. Grund: lesbar, Code-Tags hinzufügen |
|
||||
|
Versuchen Sie folgendes:
Code:
awk 'NR==FNR{a[$1]=$2;next}
/^V/ && substr($0,65,5)==" " && substr($0,22,4) in a {
print substr($0,1,64) a[substr($0,22,4)] substr($0,69);next
}
1' foo2 foo1
|
|
||||
|
Code:
my %hash=(
2213 => 3200,
2214 => 3198,
2392 => 3182,
);
while(<DATA>){
if(/^V/ && (substr($_,64,6)=~/\s{6}/)){
substr($_,64,4)=$hash{substr($_,21,4)};
}
print;
}
__DATA__
H2600 LINE:
H2600
H2600
H2600 MYSystems Ltd. (Feb 18 2009)
V1760R1130 1 2213133522.79N 81 027.09E 500814.01502345.9 145 9 837
E1760R1130 1 2 2213133522.44N 81 027.33E 500821.11502335.1 145 9 837
Z1760R1130 11 2213133512.77N 81 031.86E 500957.51502038.3 145 9 837
Z1760R1130 12 2213133512.15N 81 030.27E 500909.81502019.1 145 9 837
R 1 501299.31502012.1 6.7 2 501303.51502000.2 6.8 3 501307.71501988.4 7.01
R 4 501311.91501976.6 7.1 5 501316.21501964.7 7.3 6 501320.41501952.9 7.41
R 7 501324.61501941.2 7.5 8 501328.91501929.3 7.5 9 501333.21501917.5 7.51
R 10 501337.41501905.7 7.5 11 501341.71501893.9 7.5 12 501346.01501882.1 7.51
V1760R1130 1 2214133523.56N 81 026.81E 500805.51502369.5 145 9 849
E1760R1130 1 2 2214133523.21N 81 027.04E 500812.61502358.7 145 9 849
Z1760R1130 11 2214133513.54N 81 031.57E 500948.61502061.8 145 9 849
Z1760R1130 12 2214133512.93N 81 029.98E 500900.81502042.9 145 9 849
R 1 501299.31502012.1 6.7 2 501303.51502000.2 6.8 3 501307.71501988.4 7.01
R 4 501311.91501976.6 7.1 5 501316.21501964.7 7.3 6 501320.41501952.9 7.41
R 7 501324.61501941.2 7.5 8 501328.91501929.3 7.5 9 501333.21501917.5 7.51
R 10 501337.41501905.7 7.5 11 501341.71501893.9 7.5 12 501346.01501882.1 7.51
V1760R1130 1 2392133740.94N 805939.69E 499389.81506589.83182.4145 94330
E1760R1130 1 2 2392133523.21N 81 027.04E 500812.61502358.7 145 9 849
Z1760R1130 11 2392133513.54N 81 031.57E 500948.61502061.8 145 9 849
Z1760R1130 12 2392133512.93N 81 029.98E 500900.81502042.9 145 9 849
|
![]() |
| Lesezeichen |
| Thread Tools | Suche diesen Thread |
| Anzeige-Modi | Rate this thread |
|
|