У меня есть несколько файлов данных. Например
sales.txt (в исходном файле 13 столбцов)
Дата Единица измерения $$ employee# abc def jkl mno pqr
Dec1 10 500 2 1 2 3 4 5
Дек2 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 (в оригинале 3 столбца)
Дата Стоимость единицы источник1 источник2
Дек1 10 300 5 5
Дек2 12 350 5 7
Дек3 13 350 7 6
Дек4 15 400 6 9
...
...
И у меня есть еще 3 файла, в каждом из которых по 2 столбца. Я пытаюсь сопоставить дату во всех этих файлах и скопировать строки в один файл. Код, который я использую для этого:
# подсчитываем количество строк в файле
файл = «продажи.txt»
N=$(awk -F, '{rows++} END{print rows}' $file)
для строки в $(eval echo {2..$N})
делать
pattern=$(awk -v r=$row 'FNR==r {print $1}' $file);
вставить <(awk -v line=$row 'FNR==line{print $0}' $file)
<(awk -v line=$row 'FNR==line{$1=""; print $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
сделано
Он работает при копировании и поиске строк, но формат выходного файла примерно такой:
Dec1 10 500 2 1 2 3 4 5 10 300 5 5
1 # исходит из другого файла1
2 # исходит из другого файла2
3 # исходит из другого файла3
Dec2 12 450 3 6 7 8 9 10 12 350 5 7
4
5
6
...
...
Я хочу, чтобы они были на одной линии. Я пробовал много методов, найденных на этом форуме, но ни один из них не работал для меня. Пожалуйста помоги