Usei o sed para casar a primeira e a última palavra completa em uma linha, e
copiá-las com retrovisores. Ficou assim:
nomes="Ciclano Fulano da Silva Soares
José dos Anzóis Pereira
Juca da Silva
Mateus Marcus Lucas e João
Benedita Maria da Silva
Santa Maria"
echo "$nomes" | sed -r 's/(^[[:alpha:]]
Opa!
Estou sem tempo pra escrever um script, mas veja se entende o que eu faço
abaixo:
e...@noteeric:~$ NOME=( Ciclano Fulano da Silva Soares )
e...@noteeric:~$ TAMANHO=${#NOME[*]}
e...@noteeric:~$ echo $TAMANHO
5
e...@noteeric:~$ echo ${NOME[0]}
Ciclano
e...@noteeric:~$ echo ${NOME[4]}
Soares
e
awk '{print $1 " " $NF}'
2010/5/6 Lawrence Waclawiak
>
> Resolvi com o sed!
>
> l...@lbw-laptop:~$ echo "
> Ciclano Fulano da Silva Soares
> José dos Anzóis Pereira
> Juca da Silva
> Mateus Marcus Lucas e João
> Benedita Maria da Silva
> Santa Maria
> " |sed -r 's/(^[a-zA-Z]*).*( [a-zA-Z]*$)/\1\2
Com o awk:
cat arquivo.txt | awk '{print $1 " " $NF}'
2010/5/6 Lawrence Waclawiak
> Resolvi com o sed!
>
> l...@lbw-laptop:~$ echo "
> Ciclano Fulano da Silva Soares
> José dos Anzóis Pereira
> Juca da Silva
> Mateus Marcus Lucas e João
> Benedita Maria da Silva
> Santa Maria
> " |sed -r 's/(^[
Resolvi com o sed!
l...@lbw-laptop:~$ echo "
Ciclano Fulano da Silva Soares
José dos Anzóis Pereira
Juca da Silva
Mateus Marcus Lucas e João
Benedita Maria da Silva
Santa Maria
" |sed -r 's/(^[a-zA-Z]*).*( [a-zA-Z]*$)/\1\2/'
Ciclano Soares
José Pereira
Juca Silva
Mateus João
Benedita Silva
Santa