Supondo que os dados são sempre da maneira que você forneceu acima.
awk 'NF == 4 {$1="";print}' matrix.txt
Isto imprime todas as linhas com 4 colunas de dados e apaga a primeira coluna.
Eu tenho um arquivo que possui strings e números flutuantes. Eu quero carregar este arquivo e, em seguida, imprimir a parte da matriz do arquivo para acessar os elementos da matriz.
file.text
laimfnllvbms
ksdvkdv=ksmgfgmf
kfdjdj=4o53024
0 10
C -5.079679 -0.614855 0.628813
O -5.090496 -1.535841 -0.185383
N -4.068243 -0.015776 1.175251
H -4.152798 0.774414 1.777298
C -2.706356 -0.272545 0.750101
H -2.712997 -0.826000 -0.177284
C -2.003241 1.167450 0.660391
H -1.795397 1.550152 1.682476
H -2.809862 1.800846 0.233202
C -0.756939 1.208105 -0.169144
saída
-5.079679 -0.614855 0.628813
-5.090496 -1.535841 -0.185383
-4.068243 -0.015776 1.175251
-4.152798 0.774414 1.777298
-2.706356 -0.272545 0.750101
-2.712997 -0.826000 -0.177284
-2.003241 1.167450 0.660391
-1.795397 1.550152 1.682476
-2.809862 1.800846 0.233202
-0.756939 1.208105 -0.16914
elemento da matriz [1,1] = -5,079679
elemento da matriz [5,1] = -2,706356
Supondo que os dados são sempre da maneira que você forneceu acima.
awk 'NF == 4 {$1="";print}' matrix.txt
Isto imprime todas as linhas com 4 colunas de dados e apaga a primeira coluna.
Para adicionar mais verificações à sintaxe, você pode tentar algo como o seguinte. Isso funcionará somente se o segundo campo tiver sempre um valor negativo.
awk -vOFS="\t" 'NF==4 && $2 ~ "^-[0-9]" {$1="";printf("%s\n", $0)}' matrix.txt
No caso de você ter números como
C 14.756939 1.208105 -0.169144
então você pode usar $2 ~ "^-?[0-9]"
, que também irá verificar valores positivos.