Como exportar valores de dados no terminal para arquivo CSV no Bash

Como exportar valores de dados no terminal para arquivo CSV no Bash

Gostaria de exportar os valores dos dados gerados no Terminal para um arquivo CSV, a seguir está a saída que obtenho após executar uma instrução no Freesurfer

dev@dev-OptiPlex-780:~$ mri_segstats --subject Sub1 --etiv-only

    $Id: mri_segstats.c,v 1.75.2.9 2013/02/16 00:09:33 greve Exp $
    cwd 
    cmdline mri_segstats --subject Sub1 --etiv-only 
    sysname  Linux
    hostname dev-OptiPlex-780
    machine  x86_64
    user     dev
    UseRobust  0
    atlas_icv (eTIV) = 1144730 mm^3    (det: 1.701803 )

Da saída acima, gostaria de extrair apenas o valor de atlas_ICV (eTIV) (ou seja, = 1144730 mm ^ 3) em um arquivo csv usando script bash, qualquer sugestão seria muito apreciada.

Eu escrevi um código automatizado para extrair o valor ICV para 10 assuntos que tenho em meu diretório

    for ICV in `cat list_subjects.txt`;do

    #mri_segstats --subject $ICV --etiv-only

   ICV_Calculation=mri_segstats --subject $ICV --etiv-only | sed -n 's/.*(eTIV) = \([0-9].*mm^3\).*/\1/p'

    echo "${Subjects_ICV},${ICV_Calculation}" >>Subjects_ICV.csv

    done

onde list_subjects.txt inclui todos os assuntos que tenho em meu diretório

Responder1

Eu gostaria de extrair apenas o valor de atlas_ICV (eTIV)(ou seja = 1144730 mm^3)

Dado este arquivo:

: mri_segstats.c,v 1.75.2.9 2013/02/16 00:09:33 greve Exp $
cwd 
cmdline mri_segstats --subject Sub1 --etiv-only 
sysname  Linux
hostname dev-OptiPlex-780
machine  x86_64
user     dev
UseRobust  0
atlas_icv (eTIV) = 1144730 mm^3    (det: 1.701803 )

Eu posso usar isso sed:

sed -n 's/.*(eTIV) = \([0-9].*mm^3\).*/\1/p' atlas
1144730 mm^3

Se você deseja extrair esse valor da saída para STDOUT, basta usar um pipe, assim:

cat atlas | sed -n 's/.*(eTIV) = \([0-9].*mm^3\).*/\1/p'
1144730 mm^3

No seu caso, acho que seria assim:

mri_segstats --subject Sub1 --etiv-only | sed -n 's/.*(eTIV) = \([0-9].*mm^3\).*/\1/p'

sed --version
sed (GNU sed) 4.2.2

informação relacionada