Como posso usar o awk para remover todo o texto após um determinado caractere ";" que aparece em todas as linhas do meu arquivo de texto? (Em seguida, preciso executar loops no texto)
Jenny,Sarah,John;North Dakota
Henry,Frank;Illinois
Aaron,Kathryn,Caitlin,Harris;New York
text-processing
awk
Jenny
fonte
fonte
Respostas:
Existem duas abordagens gerais.
Defina
awk
o separador de campos para esse caractere. Você pode obter as peças que deseja como$1
:Use
gsub()
para substituí-lo por uma string vazia:Então, para o seu exemplo:
fonte
Aqui está uma resposta
sed
: como você realmente não está processando em campo, o awk provavelmente é um exagero.fonte
E também apenas
cut
..fonte
Às vezes, você pode substituir todos os caracteres após uma determinada palavra por outra sequência. Por exemplo:
original_string="abc blabla foo bar"
e você deseja substituir as palavras após blabla por 'olá mundo'fonte