Procurando apenas palavras únicas no Unix

3

Existe alguma maneira de criar um arquivo com algo como:

field1,field2,field number 3,field4,field5

field1,field2,field3,field4,field5

(Alguns campos possuem espaços, alguns campos não)

Eu quero imprimir usando awk $ 1 e $ 3, mas apenas as linhas que não têm espaço no campo 3.
Eu não sei se existe alguma maneira de fazer o awk imprimir algo somente se ele começar com e terminar com

    
por noname 07.04.2017 / 01:26

3 respostas

9

awk -F, '$3 !~ / / {print $1,$3}' input-file
    
por 07.04.2017 / 01:42
3

As linhas não têm espaço no campo 3

awk -F, '{n=split($3,a," ");if(n==1){print $1,$3}}' filename
    
por 07.04.2017 / 01:32
2
perl -F, -lane '$F[2] =~ /\s/ || print "@F[0,2]"' yourfile

sed -ne 's/^\([^,]*\),[^,]*,\([^ ,]*\)\(,.*\)\{0,\}$/ /p' yourfile

while IFS=, read -r f1 x f3 x; do case $f3 in *" "* ) : ;; * ) echo "$f1 $f3" ;; esac; done < yourfile
    
por 07.04.2017 / 02:30

Tags