![]() |
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 |
| Um ganze Spalte aus einer Datei und apend es zu einer anderen Datei als eine weitere Spalte | sakthifire | Shell Programmierung und Scripting | 4 | 06-25-2008 05:27 AM |
| Flat-Datei | Krishnaramjis | Shell Programmierung und Scripting | 9 | 05-08-2008 11:28 PM |
| Wie Sie Nullwerte in einer Datei spaltenweise, wenn Spalten nicht Nullstellen | Mandab | Shell Programmierung und Scripting | 7 | 03-15-2008 09:57 AM |
| XML-Datei zur flachen | balireddy_77 | Shell Programmierung und Scripting | 2 | 04-13-2007 06:57 AM |
| Spaltennamen in flachen Dateien | srivsn | Shell Programmierung und Scripting | 1 | 12-27-2005 06:47 AM |
![]() |
|
|
LinkBack | Thread Tools | Suche diesen Thread | Rate Thread | Anzeige-Modi |
|
|
|
|||||
|
Dhruv,
Hier ist das Problem wieder .. Ich habe eine feste Look-Up-Datei, deren Spalte sind in festen Reihenfolge sagen .. "Mandt Serail SERSCHA Serex EQTYP BSTVP" Ich habe diese Reihenfolge gespeichert in einer Variable .. Jetzt Ich bekomme Datei, deren Spalte Reihenfolge könnte grundlegend von der, die ich erwähnen, in der Look-Up-String. Ich möchte resuffle diese Datei nach der Spalte Reihenfolge der look_up String. Datendatei Spalte Folge könnte Fall -1 Reihenfolge ---------- SERSCHA Serex EQTYP BSTVP Mandt Serail 333 4343 fdfd fdfdf dssds fdfdf 343 343 rere 43 fdf 4343 Fall -2 Reihenfolge: ------------------- Serex EQTYP BSTVP Mandt Serail SERSCHA 121 3232 323 ddd SD 223 finden Sie in der Folge von dieser Datei jedes Mal Reihenfolge der Spalte unterschiedlich. die endgültige reaange dieser Datei sollte auf der Grundlage der Spalte der Look-Up [string immer. OK 1 Nun will ich resuffle diese Datei, so dass die Spalte mit Mandt sollten an erster Stelle, dann ... dann Serail SERSCHA Serex EQTYP und die endgültige resuffle Daten in eine Datei anhängen Namen sagen final_data.txt |
|
||||
|
Code:
awk -v str="MANDT SERAIL SERSCHA SEREX EQTYP BSTVP" '
NR == 1 {
n=split( str , arr , " " )
for( i = 1; i <= n ; ++i )
arr_ac[$i]=i
for( i = 1; i <= n ; ++i )
col[i]=arr_ac[arr[i]]
print str
}
NR > 1 {
for(i = 1; i <= n ; ++i )
printf("%s ",$col[i])
printf("\n")
}
' file >> final_data.txt
|
|
|||||
|
Aktivieren Sie diese Post
neu-Datei auf der Grundlage von Lookup-Datei |
|
||||
|
hier ist eine Alternative in Python:
Code:
def transpose(matrix):
return [[matrix[y][x] for y in range(len(matrix))]for x in range(len(matrix[0]))]
all = open("input.txt").readlines()
lookupstring = ['MANDT', 'SERSCHA','SERAIL' , 'SEREX', 'EQTYP', 'BSTVP']
listing = [ i.split() for i in all ]
results = transpose(listing)
final= [ r for items in lookupstring for r in results if items == r[0] ]
for i in transpose(final):
print ','.join(i)
Code:
MANDT SERAIL EQTYP SERSCHA SEREX BSTVP 510 hsgdfs 44 sercha sex1 bst233 510 bg 89 fg 23 98 510 gh 89 we sew mn Code:
/home>python test.py MANDT,SERSCHA,SERAIL,SEREX,EQTYP,BSTVP 510,sercha,hsgdfs,sex1,44,bst233 510,fg,bg,23,89,98 510,we,gh,sew,89,mn |
![]() |
| Lesezeichen |
| Thread Tools | Suche diesen Thread |
| Anzeige-Modi | Rate this thread |
|
|