Mein Problem ist folgendes: Ich habe eine Textdatei, wo keine leeren Zeilen sind, jetzt möchte ich die Zeilen gemäß der Musterdatei, wo 1 bedeutet, drucken Sie die Zeile ohne ein neue Zeile, 0 - enthält eine neue Zeile. Meine Textdatei ist:Einschließlich leere Zeilen mit Muster
apple
banana
orange
milk
bread
Thу Musterdatei ist:
1
1
0
1
0
1
1
Der Wunsch Ausgang entsprechend:
apple
banana
orange
milk
bread
Was ich versucht ist:
for i in $(cat pattern file);
do
awk -v var=$i '{if var==1 {print $0} else {printf "\n" }}' file;
done.
Aber es druckt alle Zeilen zuerst, und erst danach ändert es $i
Danke für alle Aufforderungen.
Es gibt nichts in der 'awk' Befehl, der macht es wählt eine bestimmte Zeile der Datei aus. – Barmar
@H_squared Er benutzt '$ i' in' bash', nicht in 'awk'. – Barmar
Wie bist du jemals in einer Situation gelandet, in der du diese Eingaben hast? Scheint so, als würdest du den Fahnenmast bellen. – tripleee