Ich versuche, nach einer bestimmten Zeichenfolge in vielen CSP-Dateien zu suchen, die Zeichenfolge befindet sich in der ersten Zeile und mein Gedanke war, die erste Zeile jeder Datei zu erhalten durch Kombination von Fund, Zcat und Kopf. Aber ich kann sie nicht dazu bringen, zusammenzuarbeiten.Ergebnisse finden piped zu zcat und dann zum Kopf
$find . -name "*.gz" -print | xargs zcat -f | head -1
20051114083300,1070074.00,0.00000000
xargs: zcat: terminated by signal 13
example file:
$zcat 113.gz | head
20050629171845,1069335.50,-1.00000000
20050629171930,1069315.00,-1.00000000
20050629172015,1069382.50,-1.00000000
.. and 2 milion rows like these ...
Obwohl ich das Problem, indem ein Bash-Skript gelöst, Iterieren über die Dateien und in eine temporäre Datei zu schreiben, wäre es toll, zu wissen, was ich falsch gemacht habe, wie es zu tun, und wenn es sein könnte andere Möglichkeiten, um darüber zu gehen.
hat einwandfrei funktioniert, danke. Ich wusste nicht, dass du es benutzen kannst und lies so, ich werde mich daran erinnern. – furedde
Sie können auch verwenden: 'für f in * .gz; mach zcat $ f | Kopf -n 1; done' – arekolek
@arekolek: Was nicht rekursiv ist, es sei denn du benutzt 'shopt -s globstar; für f in **/*. gz', während 'find' rekursiv ist, es sei denn, man limitiert es mit' -maxdepth'. –