Am mai multe fișiere de date. De exemplu
sales.txt (fișierul original are 13 coloane)
Data Unit $$ angajat# abc def jkl mno pqr
Dec1 10 500 2 1 2 3 4 5
Dec2 12 450 3 6 7 8 9 10
Dec3 13 550 3 11 12 13 14 15
Dec4 15 600 3 16 17 18 19 20
...
...
supply.txt (cel original are 3 coloane)
Data Cost unitar sursă1 sursă2
Dec1 10 300 5 5
Dec2 12 350 5 7
Dec3 13 350 7 6
Dec4 15 400 6 9
...
...
Și mai am 3 fișiere care au câte 2 coloane în fiecare. Ceea ce încerc să fac este să potrivesc data din toate aceste fișiere și să copiez liniile într-un singur fișier. Codul pe care îl folosesc pentru asta este:
# numără numărul de rânduri din fișier
file="sales.txt"
N=$(awk -F, „{rows++} END{print rows}” $fișier)
pentru rând în $(eval echo {2..$N})
do
model=$(awk -v r=$rând 'FNR==r {printează $1}' $fişier);
lipiți <(awk -v line=$row 'FNR==line{print $0}' $fișier)
<(awk -v line=$rând 'FNR==line{$1=""; printează $0}' supply.txt)
<(awk -v line=$row 'FNR==line{print $2}' otherfile1.txt)
<(awk -v line=$row 'FNR==line{print $2}' otherfile2.txt)
<(awk -v line=$row 'FNR==line{print $2}' otherfile3.txt) >> account.txt
Terminat
Funcționează la copierea și găsirea liniilor, dar formatul din fișierul de ieșire este cam așa:
Dec1 10 500 2 1 2 3 4 5 10 300 5 5
1 # vine de la otherfile1
2 # vine de la otherfile2
3 # vine de la otherfile3
Dec2 12 450 3 6 7 8 9 10 12 350 5 7
4
5
6
...
...
Vreau să fie pe aceeași linie. Am încercat multe tehnici găsite pe acest forum, dar niciuna nu a funcționat pentru mine. Te rog ajuta-ma