Tenho arquivos de texto com várias linhas de dados (às vezes) delimitados por tabulação. Gostaria de exibir o arquivo para que eu possa dar uma olhada nele - para ver apenas os primeiros 80 caracteres de cada linha (eu projetei o arquivo de texto para colocar os itens importantes em primeiro lugar em cada linha).
Eu pensei que poderia usar cat para ler cada linha do arquivo e enviar cada linha para o próximo comando em um pipe:
cat tabfile | cut -c -80
Mas isso parecia quebrado. Tentei pesquisar e o grep parecia funcionar - mas depois descobri que não, não (nem todas as linhas do arquivo tinham mais de 80 caracteres) - parece que as guias são contadas como caracteres únicos por corte.
Eu tentei:
cat tabfile | tr \t \040 | cut -c -80
Mesmo que isso alterasse um pouco meus dados, eliminando a legibilidade do espaço em branco. Mas isso não funcionou. Nem:
cat tabfile | tr \011 \040 | cut -c -80
Talvez eu esteja usando tr errado? Eu já tive problemas com tr antes, querendo remover vários espaços (a versão do tr à qual tenho acesso nesta máquina tem uma opção -s para espremer vários caracteres - talvez seja necessário brincar mais com ela)
Tenho certeza de que, se eu errei, poderia usar perl, awk ou sed, ou algo para fazer isso.
No entanto, eu gostaria de uma solução que use comandos regulares (POSIX?), Para que seja o mais portátil possível. Se eu acabar usando tr, provavelmente tentaria transformar tabulações em caracteres, talvez faça um cálculo, recorte o cálculo e depois transforme esses caracteres em tabulações para a saída.
Não precisa ser uma única linha / inserida diretamente na linha de comando - um script é adequado.
Mais informações sobre tab-files:
Uso tab para quebrar campos, porque um dia talvez eu queira importar dados para outro programa. Então, eu tendem a ter apenas uma guia entre partes do conteúdo. Mas também uso guias para alinhar as coisas com colunas verticais, para ajudar na legibilidade ao olhar para o arquivo de texto sem formatação. O que significa que, para alguns trechos de texto, preencho o final do conteúdo com espaços até chegar onde a guia funcionará, alinhando o próximo campo com os acima e abaixo dele.
DarkTurquoise # 00CED1 Mares, céus, barcos a remos Natureza MediumSpringGreen # 00FA9A Útil para árvores Magia Cal # 00FF00 Apenas para uso em galinhas de primavera e US $
pr
a partir de coreutils
: pr -1 -t -l200 -W80 file
. Aumente / diminua o comprimento da página (número depois -l
) conforme sua necessidade.