Tenho um arquivo data.csv que quero converter para txt e depois descobrir quantos números pares ele contém:
meu data.csv é assim:
# Recorded data from sensor XaB.v2
# Recording started on Oct 29 15:00:00
# Recording ended on Oct 29 15:15:59
# X, Y, Z, X', Y', Z'
55, 14, 48, 62, 78, 41
32, 52, 94, 11, 17, 83
e assim por diante.
Eu tentei dessa forma, mas talvez haja uma maneira melhor
grep -v '^#' data.csv | sed -e 's/,//g' > data.txt
grep -o '[0-9]\+' data.txt | awk '$1%2 == 0' | wc -l
especialmente o comando sed, não sei se essa é a maneira ideal.
Então eu tenho que criar n cópias do meu data.txt com valores escalonados divididos por i, novamente eu tentei com este script, mas não sei se há uma maneira mais simples e limpa de fazer isso:
n=$1
for ((i=1; i<=n; i++)) do
awk -v divisor="$i" '{ for (j=1; j<=NF; j++) printf "%.6f", $j / divisor; print "" }' data.txt > "data_${i}.txt"
done
Não incluí as verificações necessárias (sintaxe e n como um inteiro positivo) neste snippet.