Описание тега ulan-bator
У меня есть файл данных, который я предобработки перед отправкой его. Оно состоит из строки заголовка и нескольких строк данных с большим количеством столбцов типов данных. Первые три колонны всегда того же типа и порядка. Общее количество столбцов постоянен в файл, но не будет постоянной между файлами. В seqno не гарантируется, чтобы начать на 1, но всегда будет монотонно возрастающей.
У меня есть скрипт, чтобы вставить строку заголовка, где я хочу, чтобы в файле данных, но я хочу быть в состоянии изменить этот заголовок основан на матч, что я в настоящее время. В частности, я хочу предварить мой переменной $i на 4-й, 5-й, ..endth столбцы из моего заголовка. Помимо этого, заголовок идентичен в каждом размещении.
Это будет выполняться как скрипт, так что если мне нужно для предварительной обработки заголовка, чтобы узнать, сколько столбцов имеет, то, что можно легко сделать.
Мой текущий скрипт, не нужные замены заголовка (дополнительные примеры заголовка в конце):
заголовок=$(голова -Н1 $вход)
на awk -V я=3 -в дрч="заголовок" 'НР>1 && $я!=п {печати "\н\н"РВБ}{п=$я} 1' ${ввод} > ${выход}
Мой пример ввода:
#именем seqno phasename А Б в масштабе РВП
blah_001.xye 1 корунда 3 3 12 0.001 3
blah_002.xye 2 корунда 3.1 3.1 12.1 0.002 3.5
blah_003.xye 3 корунда 3.2 3.2 12.2 0.001 3.1
blah_001.xye 2 silcon_NIST 5.4 5.4 5.4 0.002 3
blah_002.xye 3 silcon_NIST 5.41 5.41 5.41 0.004 3.5
blah_003.xye 4 silcon_NIST 5.42 5.42 5.42 0.002 3.1
Мой нынешний выход:
#именем seqno phasename А Б в масштабе РВП
blah_001.xye 1 корунда 3 3 12 0.001 3
blah_002.xye 2 корунда 3.1 3.1 12.1 0.002 3.5
blah_003.xye 3 корунда 3.2 3.2 12.2 0.001 3.1
#именем seqno phasename А Б в масштабе РВП
blah_001.xye 2 silcon_NIST 5.4 5.4 5.4 0.002 3
blah_002.xye 3 silcon_NIST 5.41 5.41 5.41 0.004 3.5
blah_003.xye 4 silcon_NIST 5.42 5.42 5.42 0.002 3.1
Мой желаемый результат-это:
#именем seqno phasename corundum_a corundum_b corundum_c corundum_scale corundum_Rwp
blah_001.xye 1 корунда 3 3 12 0.001 3
blah_002.xye 2 корунда 3.1 3.1 12.1 0.002 3.5
blah_003.xye 3 корунда 3.2 3.2 12.2 0.001 3.1
#именем seqno phasename silcon_NIST_a silcon_NIST_b silcon_NIST_c silcon_NIST_scale silcon_NIST_Rwp
blah_001.xye 2 silcon_NIST 5.4 5.4 5.4 0.002 3
blah_002.xye 3 silcon_NIST 5.41 5.41 5.41 0.004 3.5
blah_003.xye 4 silcon_NIST 5.42 5.42 5.42 0.002 3.1
Что я хочу сделать:
Как я могу изменить на awk переменная HDR съемка
внутри awk, чтобы добавить к $я
переменную на 4 - endth столбцы переменной РВБ
, прежде чем вставлять ее во входной файл?
Некоторые другие примеры заголовков в других файлов для обработки
#именем seqno phasename темп temp_err ЦНБ csL_err РГС csG_err strL strL_err рулевое strG_err B_Na B_Na_err B_Mg B_Mg_err B_F B_F_err B_H B_H_err B_O B_O_err B_Fe B_Fe_err F_occ F_occ_err Na_x Na_x_err Na_z Na_z_err F1_x F1_x_err F1_y F1_y_err F1_z F1_z_err F2_x F2_x_err F2_z F2_z_err a1_err А1 А2 А3 А4 А5 А6 a2_err a3_err a4_err a5_err a6_err А7 a7_err s1_err С1 С2 С3 s2_err s3_err в a_err б b_err с c_err Аль al_err быть be_err га ga_err объем volume_err массы mass_err МАК MAC_err плотность density_err лак LAC_err Lvol Lvol_err Е0 e0_err шкале scale_err мас.% мас.%_err num_area num_area_err r_bragg r_bragg_err r_wp r_wp_err r_exp r_exp_err Гоф gof_err
#именем seqno phasename ЦНБ csL_err рулевое strG_err в a_err б b_err с c_err Аль al_err быть be_err га ga_err объем volume_err массы mass_err МАК MAC_err плотность density_err лак LAC_err Lvol Lvol_err Е0 e0_err данные scale_err мас.% мас.%_err num_area num_area_err r_bragg r_bragg_err r_wp r_wp_err r_exp r_exp_err Гоф gof_err
#именем seqno phasename РГС strL F1_x F1_y F1_z объем Гоф