Во-первых.
Удобно объединять ваши File 2 и File 3 построчно. Вы можете достичь этого с помощью команды paste
:
paste -d"," file2 file3 > file23
Согласно вашему примеру, содержимое файла 2:
305
7510
Содержимое файла3:
@1,2.0000,4.0
@2,10.0000,10.0
Результирующее содержимое файла23:
305,@1,2.0000,4.0
7510,@2,10.0000,10.0
Во-вторых.
Затем вы можете использовать простой сценарий AWK, чтобы сделать то, что вам нужно:
awk -v FS="," 'NR==FNR { d[$1]=substr($0,length($1)+2); next } d[$1] { $0=d[$1] } 1' file23 file1
Содержимое файла1:
300,-4.45479329731605E-08,30.0000000534252
305,-3.24248685321522E-08,30.0000000626148
7505,-6.10348043414643E-08,29.9999998187525
7510,-2.97107304427854E-08,29.9999999033104
Выход:
300,-4.45479329731605E-08,30.0000000534252
@1,2.0000,4.0
7505,-6.10348043414643E-08,29.9999998187525
@2,10.0000,10.0
P.S. Обычно такие вопросы, как ваши, рассматриваются не по теме, поскольку вы не пытались решить их самостоятельно. Вы должны включить код в такие вопросы, как этот.