cut -sf2 -d' ' list.tab|sed -e 's/\..*/\"/'
significando
- recorte apenas o segundo campo em linhas com separadores (espaço)
- substitua o ponto e qualquer coisa que se segue com aspas.
Eu tenho um arquivo separado por tabulação no Linux que se parece com isso
~$ head list.tab
"x"
"1" "FUHGF.jnf.m22-1"
"2" "HDFHFEY.gfs.d2-1"
"3" "KJFGJF.fr.md2-1"
"4" "SDFSDIB.gfd.rtl2-1"
"5" "FGJFGOB.hgd.k2-5"
"6" "HJLHEH.fc.po2-1"
"7" "GFHFGV.gfn.col2-1"
"8" "KLAA.ghn.xil2-3"
"9" "KJGGFG.hgr.col2-2"
Gostaria de manter apenas a primeira parte do nome da segunda coluna. Eu sei que terei que usar cut
e sed
, mas não consigo pensar na estrutura do comando. Minha saída desejada é
~$ head list.tab
"FUHGF"
"HDFHFEY
"KJFGJF"
"SDFSDIB"
"FGJFGOB"
"HJLHEH"
"GFHFGV"
"KLAA"
"KJGGFG"
Eu tenho tentado com awk
e gsub
, mas eu não uso o Linux há algum tempo, a ajuda seria apreciada.
Muito obrigado
awk '$2 {oFS=FS; FS="."; $0=$2; print $1"\""; FS=oFS}' input
Para todas as linhas que têm um segundo campo: