Задача довольно проста: игнорировать строки, начинающиеся с даты, или строки, содержащие столбцы месяцев; если первая строка содержит время теста, возьмите это время и третий столбец; для всех остальных строк - второй столбец. Приведенный ниже сценарий AWK
делает именно это.
Демонстрация:
$> ./data2cvs.awk testData.txt
T1,F2,I1,F3,Regulated F2,FR T1
00:00:t1,299,119,25,105,0,104
00:00:t2,649,119,225,165,5,102
00:00:t5,800,111,250,105,0,100
Источник сценария
#!/usr/bin/awk -f
BEGIN {
HEADER="T1,F2,I1,F3,Regulated F2,FR T1"; print HEADER
}
# Ignore lines containing date and month
$1~/^[[:digit:]]{2}-.+/ || $0~/juin.*nov.*sept.*oct/ {
next ;
}
# Grab test time and first data value
# Essentially doing something like sprintf in C
# to a string of arrays
$1~/^[[:digit:]]{2}:.+/{
count++
DATA[count]=$1","$3
}
# grab remaining data values
$1 !~ /^[[:digit:]]{2}:.+/{
if ($1~/Regulated/ || $1~/FR/){
DATA[count]=DATA[count]","$3
}
else {
DATA[count]=DATA[count]","$2 ;
}
}
# print gathered data to STDIN
END{
for (i=1;i<=count;i++) print DATA[i]
}
Я использую Atom для компиляции и запуска программ на C, и он выводит данные в xterm. -Я нашел эту ссылку, когда пытался увеличить шрифт xterm на постоянной основе. Эти посты действительно помогли мне разобраться с xterm-
https://askubuntu.com/questions/161652/how-to-change-the-default-font-size-of-xterm