Este é o comando tablifyp que pode ser executado no provedor de hospedagem gratuita OnWorks usando uma de nossas múltiplas estações de trabalho online gratuitas, como Ubuntu Online, Fedora Online, emulador online de Windows ou emulador online de MAC OS.
PROGRAMA:
NOME
tablify – transforma um arquivo de texto delimitado em uma tabela de texto
SINOPSE
arquivo tablify [opções]
opções:
-h|--help Mostrar ajuda
-c|--comment Define o início de um comentário (linha única)
-n|--no-headers Suponha que a primeira linha sejam dados, não cabeçalhos
--no-pager Não use $ENV{'PAGER'} mesmo se definido
--strip-quotes Tira "ou 'ao redor dos campos
-l|--list Lista os campos no arquivo (para usar com -f)
-f|--fields=f1[,f2] Mostrar apenas campos em lista separada por vírgula;
quando usado em conjunto com "sem cabeçalhos"
a lista deve conter números de campo (começando em 1);
caso contrário, devem ser nomes de campos
-w|where=fv Aplique o operador Perl "cmp" para restringir a saída
onde o campo “f” corresponde ao valor “v”; aceitável
operadores incluem ==, eq, >, >=, <= e =~
-v|--vertical Mostra registros verticalmente
-i|--limit=n Limite a um determinado número de registros
--fs = x Use "x" como separador de campo
(o padrão é a guia "\ t")
--rs = x Use "x" como separador de registro
(o padrão é nova linha "\ n")
--as-html Crie uma tabela HTML em vez de texto simples
--headers Lista separada por vírgulas de nomes correspondentes
o número de colunas
DESCRIÇÃO
Este script é essencialmente uma maneira rápida de analisar um arquivo de texto delimitado e visualizá-lo como um
bela tabela ASCII. Ao selecionar apenas alguns Campos, empregando um onde cláusula de apenas
selecione registros onde um campo corresponde a algum valor e usando o limitar ver apenas alguns
a saída, você quase tem um front-end de mini-banco de dados para um arquivo de texto simples.
EXEMPLOS
Dado um arquivo de dados como este:
nome, classificação, número de série, está morando, idade
George,Geral,190293,0,64
Dwight,Geral,908348,0,75
Átila, Huno,,0,56
Tojo,Emporor,,0,87
Tommy,Geral,998110,1,54
Para encontrar os campos que você pode referenciar, use o Lista opção:
$ tablify --fs ',' -l pessoas.dat
+-----------+-----------+
| Nº do campo | Campo |
+-----------+-----------+
| 1 | nome |
| 2 | classificação |
| 3 | número_série |
| 4 | está_vivendo |
| 5 | idade |
+-----------+-----------+
Para extrair apenas o nome e os números de série, use o Campos opção:
$ tablify --fs ',' -f nome,serial_no people.dat
+--------+-----------+
| nome | número_série |
+--------+-----------+
| Jorge | 190293 |
| Dwight | 908348 |
| Átila | |
| Tojo | |
| Tommy | 998110 |
+--------+-----------+
5 registros retornados
Para extrair o primeiro ao terceiro campo e o quinto campo (onde os números dos campos começam
em "1" - dica: use o Lista opção para determinar rapidamente os números dos campos), use esta sintaxe
for Campos:
$ tablify --fs ',' -f 1-3,5 pessoas.dat
+--------+------------+-----------+------+
| nome | classificação | número_série | idade |
+--------+------------+-----------+------+
| Jorge | Geral | 190293 | 64 |
| Dwight | Geral | 908348 | 75 |
| Átila | Huno | | 56 |
| Tojo | Imperador | | 87 |
| Tommy | Geral | 998110 | 54 |
+--------+------------+-----------+------+
5 registros retornados
Para selecionar apenas aqueles com seis números de série, use um onde cláusula:
$ tablify --fs ',' -w 'serial_no=~/^\d{6}$/' people.dat
+--------+---------+-----------+-----------+------ +
| nome | classificação | número_série | está_vivendo | idade |
+--------+---------+-----------+-----------+------ +
| Jorge | Geral | 190293 | 0 | 64 |
| Dwight | Geral | 908348 | 0 | 75 |
| Tommy | Geral | 998110 | 1 | 54 |
+--------+---------+-----------+-----------+------ +
3 registros retornados
Para encontrar o registro de Dwight, você faria o seguinte:
$ tablify --fs ',' -w 'nome eq "Dwight"' pessoas.dat
+--------+---------+-----------+-----------+------ +
| nome | classificação | número_série | está_vivendo | idade |
+--------+---------+-----------+-----------+------ +
| Dwight | Geral | 908348 | 0 | 75 |
+--------+---------+-----------+-----------+------ +
1 registro retornado
Para encontrar o nome de todas as pessoas com número de série que moram:
$ tablify --fs ',' -f nome -w 'is_living==1' -w 'serial_no>0' people.dat
+-------+
| nome |
+-------+
| Tommy |
+-------+
1 registro retornado
Para filtrar fora do programa e simplesmente formatar os resultados, use "-" como último argumento
para forçar a leitura de STDIN (e provavelmente não assumir nenhum cabeçalho):
$ grep Geral people.dat | tablify --fs ',' -f 1-3 --no-headers -
+---------+--------+--------+
| Campo1 | Campo2 | Campo3 |
+---------+--------+--------+
| Geral | 190293 | 0 |
| Geral | 908348 | 0 |
| Geral | 998110 | 1 |
+---------+--------+--------+
3 registros retornados
Ao lidar com dados sem nomes de campos, você pode especificar "sem cabeçalhos" e depois consultar
campos por número (começando em um), por exemplo:
$ tail -5 pessoas.dat | tablify --fs ',' --no-headers -w '3 eq "Geral"' -
+--------+--------+--------+--------+--------+
| Campo1 | Campo2 | Campo3 | Campo4 | Campo5 |
+--------+--------+--------+--------+--------+
| Jorge | Geral | 190293 | 0 | 64 |
| Dwight | Geral | 908348 | 0 | 75 |
| Tommy | Geral | 998110 | 1 | 54 |
+--------+--------+--------+--------+--------+
3 registros retornados
Se o seu arquivo tiver muitos campos difíceis de ver na tela, considere usar o
exibição vertical com "-v" ou "--vertical", por exemplo:
$ tablify --fs ',' -v --limit 1 pessoas.dat
************ Registro 1 ************
nome: Jorge
classificação: Geral
número_de_série: 190293
está_vivendo: 0
idade: 64
1 registro retornado
Use tablifyp online usando serviços onworks.net