Dateiname vor jede Zeile

flappinski

flappinski

Foren As
Sorry schon wieder ich. Aber für Euch wahrscheinlich ein Klacks und ich probiere und probiere.....

ich will mit cat eine Ausgabe meherer Files hintereinander, wobei jede Zeile mit dem jeweiligen Dateinamen versehen werden soll. Schaut mal, wie weit ich bin:

ls temp* | while read file; do cat $file | sed 's/.*/$file\t&/'; done

$file AFFX-2315060 1
$file AFFX-2315061 1
$file AFFX-2315062 1
$file AFFX-2315057 1
$file AFFX-2315058 0
$file AFFX-2315059 1
$file AFFX-2315060 1
$file AFFX-2315061 2
$file AFFX-2315062 2
$file AFFX-2315057 0
$file AFFX-2315058 0
$file AFFX-2315059 1
$file TT-2315060 1
$file TT-2315061 1
$file TT-2315062 1
$file TT-2315057 1
$file TT-2315058 0
$file TT-2315059 1
$file TT-2315060 1
$file TT-2315061 2
$file TT-2315062 2
$file TT-2315057 0
$file TT-2315058 0
$file TT-2315059 1


da sollte jetzt aber statt $file immer der Dateiname stehen (sind 4 verschiedene mit den namen temp1, temp2, etc....)



hier mein zweiter Versuch:

ls temp* | while read file; do cat $file && echo $file; done

AFFX-2315060 1
AFFX-2315061 1
AFFX-2315062 1
AFFX-2315057 1
AFFX-2315058 0
AFFX-2315059 1
temp1
AFFX-2315060 1
AFFX-2315061 2
AFFX-2315062 2
AFFX-2315057 0
AFFX-2315058 0
AFFX-2315059 1
temp2
TT-2315060 1
TT-2315061 1
TT-2315062 1
TT-2315057 1
TT-2315058 0
TT-2315059 1
temp21
TT-2315060 1
TT-2315061 2
TT-2315062 2
TT-2315057 0
TT-2315058 0
TT-2315059 1
temp22



lustig, oder? nur leider wenig erfolgreich!!!

gruss,
Stephan
 
*lol* Ich bin echt immer schwer von Begriff :)
Bitte tippel uns doch die Ausgangssituation und was hinten bei rauskommen soll.
 
Ich habs!
ls temp* | while read file; do awk -F "\t" '{print FILENAME"\t"$0}' $file; done

bringt:
temp1 AFFX-2315060 1
temp1 AFFX-2315061 1
temp1 AFFX-2315062 1
temp1 AFFX-2315057 1
temp1 AFFX-2315058 0
temp1 AFFX-2315059 1
temp2 AFFX-2315060 1
temp2 AFFX-2315061 2
temp2 AFFX-2315062 2
temp2 AFFX-2315057 0
temp2 AFFX-2315058 0
temp2 AFFX-2315059 1
temp21 TT-2315060 1
temp21 TT-2315061 1
temp21 TT-2315062 1
temp21 TT-2315057 1
temp21 TT-2315058 0
temp21 TT-2315059 1
temp22 TT-2315060 1
temp22 TT-2315061 2
temp22 TT-2315062 2
temp22 TT-2315057 0
temp22 TT-2315058 0
temp22 TT-2315059 1


und das ist das, was ich will, geht das auch eleganter (ohne awk)?
 
Verwende bei deinem sed doppelte Hochkomma, damit die Variable aufgelöst wird.

Gruß Wolfgang
 

Ähnliche Themen

script sshpass

Grafische Anzeige der Temperatur

HandbrakeCLI Shell Skript

Shell Skript beschleunigen

continue in Schleife einbauen

Zurück
Oben