Os arquivos são separados por | símbolo de tubo
myfile.txt
Hello|how|are|you|hope|you|are|doing|fine
Lilly|jasmine|rose|sunflower|nightfire|flowers
Quero remover colunas maiores que 3. Quero o conjunto de resultados como
Hello|how|are
Lilly|jasmine|rose
Usando comandos unix na escrita de shell unix.
bash
shell-script
text-processing
VRVigneshwara
fonte
fonte
Respostas:
Usando
OFS
eFS
(Output) Field Separator, basta imprimir as 3 primeiras colunasUsando sed, mantenha apenas os dois primeiros "
|[everything that's not |]
":fonte
awk
solução onde não importa.)Esta será a solução mais fácil para isso. Funciona bem!
fonte
No
awk
basta fazer:(Se você tiver 17 colunas, conforme observado em algum comentário, basta alterar
3
para17
.)fonte