#! /usr/bin/gawk -f # Last edited on 2004-12-30 20:50:52 by stolfi # text2word - QUEBRA UM TEXTO EM UMA LISTA DE PALAVRAS // { # text2word - imprime as palavras de um texto uma por linha gsub(/[\r]+/,"") # retira carriage return se arquivo eh do dos gsub(/^/," ") # adiciona espaco no inicio da linha gsub(/$/," ") # adiciona espaco no fim da linha gsub(/[ \t]+/," ") # converte espacos e tabs multiplos para um so espaco gsub(/[.][.][.][.]/, ". ...") # separa reticencias da abreviatura anterior gsub(/[.][.][.]/, " ...") # separa reticencias da palavra anterior gsub(/[$]/, "$ ") # separa indicador monetário do numero posterior $0 = gensub(/([\[\](){}?!&%"])/, " \\1 ", "g") # separa esta pontuacao da palavra anterior e posterior $0 = gensub(/([,:;])[ ]/, " \\1 ", "g") # separa esta pontuacao da palavra anterior $0 = gensub(/(['´`])[ ]/, " \\1 ", "g") # separa aspas simples da palavra anterior $0 = gensub(/[ ](['´`])/, " \\1 ", "g") # separa aspas simples da palavra posterior gsub(/[ ]+/," ") # converte espacos multiplos para um so espaco gsub(/^[ ]/,"") # retira espaco no inicio da linha gsub(/[ ]$/,"") # retira espaco no fim da linha gsub(/[ ]/,"\n") # poe cada palavra em uma linha printf "%s\n", $0 # imprime a linha modificada } END {printf "\n"} # imprime uma linha vazia para finalizacao