Remova as cordas após cada primeira palavra em um arquivo de texto
Pergunta
File1:
hello (OPTION1) 123456 123456 123456
world (OPTION1) 123456 123456 123456
foo (OPTION1) 123456 123456 123456
bar (OPTION1) 123456 123456 123456
Como se removeria cada string após cada primeira palavra no arquivo textfile1?
Provavelmente isso estaria abaixado com awk/sed/gat - mas não consigo descobrir. Ainda sou novo na edição através desses utilitários - talvez outros se beneficiem da minha pergunta.
As primeiras palavras não são preditivas (sem curingas), cada primeira palavra é única.
Solução
Awk One Liner:
awk '{ print $1 }' < inputfile > outputfile
sed um revestimento:
sed 's/^\([A-Za-z0-9]*\).*/\1/' < inputfile > outpufile
Outras dicas
tentar
awk '{print $1}' filename > filename2
Por que usar essas ferramentas mesmo depois de ter o comando de corte
cut -f1 -d"\t" filename
Você pode simplesmente aparar tudo a partir do primeiro espaço em branco em diante:
sed '\s.*$//' <File1
Ou apenas por diversão, você pode fazer isso com Perl
perl -ne '@a = split; Imprima "$ a [0] n" '<arquivo
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow