Vilarejo PK2P
Bem-vindo ao fórum Vilarejo PK2P! O fórum oficial do canal Press Key to Play do Youtube!

Participe do fórum, é rápido e fácil

Vilarejo PK2P
Bem-vindo ao fórum Vilarejo PK2P! O fórum oficial do canal Press Key to Play do Youtube!
Vilarejo PK2P
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Grupo para reunir as pessoas que acompanham os vídeos no canal Press Key to Play e discutir os assuntos abrangidos pelo Blog PK2P.

Últimos assuntos

» RPG de Mesa: A fronteira Volume 4: O Castelo Owlrick. (D&D5e)
por Ariano 10/12/2020, 23:18

» [tutorial] hash em C/C++ com openssl
por kodo no kami 21/9/2020, 13:37

» ping lista grafico
por kodo no kami 24/7/2020, 07:53

» [Discord] Campanha de RPG D-cyber
por Jonatan15 17/7/2020, 11:11

» [tradução] 1869 (msdos)
por kodo no kami 26/6/2020, 13:43

» [source] exemplo filtro mediano
por kodo no kami 1/6/2020, 00:24

» [tutorial] criar filtro nas imagens (python)
por kodo no kami 22/5/2020, 19:29

» Wireless IDS Sagemcom
por kodo no kami 22/4/2020, 23:50

» [source] detectar dispositivos no wifi (sagemcom)
por kodo no kami 9/3/2020, 20:25

» [tutorial] wla assemblador (65xx, 68xx, z80, 8008, 8080 e huc6280)
por kodo no kami 2/2/2020, 16:42


Você não está conectado. Conecte-se ou registre-se

[tutorial] perl via linha de comando

Ir para baixo  Mensagem [Página 1 de 1]

kodo no kami

kodo no kami

Galera um bom uso para linguagem perl é o processamento de texto (excelente para manipular arquivos csv), ele pode ser usado ate mesmo via saída do terminal de forma bastante semelhante a linguagem awk. Para executar funções perl diretamente pelo terminal usamos o parâmetro -e ou -E seguido das funções e estruturas separadas por ponto e virgula (ela também deve ser colocada entre aspas)

Código:
perl -e ' print "perl é vida\n"; '

[tutorial] perl via linha de comando 4OOgKZH

é possivel colocar mais de um parâmetro -e

Código:
perl -e ' $variavel = "perl e vida"; ' -e ' print $variavel . "\n"; '

podemos redirecionar a saída usando os comandos e programas do terminal para o interpretador perl via pipe, entretanto precisamos definir o parâmetro -n para que seja lido linha a linha e executado o mesmo comando em todas as linhas

Código:
cat texto.csv | perl -n -e ' print '

o codigo abaixo é equivalente ao anterior

Código:
cat texto.csv | perl -ne ' print '

[tutorial] perl via linha de comando TyzMBjb

em awk o código anterior seria equivalente a esse

Código:
cat texto.csv | awk ' {print} '

é possivel ler linha a linha e fazer o print automaticamente bastando substituir o parâmetro -n pelo parâmetro -p

Código:
cat texto.csv | perl -p -e ' '

para a gente pegar a passagem naquela linha podemos usar a variável $_

Código:
cat texto.csv | perl -n -e ' print $_ '

outro exemplo só que dessa vez usando regex para filtrar os nomes que na segunda letra deles tem um 'o' (semelhante ao comando grep)

Código:
cat texto.csv | perl -n -e ' if($_ =~ /^.o/){ print } '

outra forma de fazer o comando anterior seria

Código:
cat texto.csv | perl -n -e ' print if $_ =~ /^.o/ '

[tutorial] perl via linha de comando Qt6N97b

é possivel usar split para recortar trechos específicos e manipular eles, exemplo separar tudo em uma array para manipular separadamente (semelhante ao comando cut)

Código:
cat texto.csv | perl -n -e ' @linha = split(",",$_); print "$linha[1]\n"'

o perl nos permite separar da mesma forma que o comando anterior de uma forma bastante simples usando o argumento -a para fazer o split e o -F seguido do delimitador (nesse caso é o ","). Para a gente acessar cada valor usamos @F e a sua posição

Código:
cat texto.csv | perl -F"," -a -n -e ' print "@F[1]\n" '

[tutorial] perl via linha de comando Rsn5D8H

é possível usar a estrutura BEGIN e END para processar apenas uma vez no começo ou no fim, exemplo um contador de linha que começa ja setado com o valor 1 e vai incrementando a cada nova linha e exibindo o resultado quando terminar (wc pra que ne)

Código:
cat texto.csv | perl -ne 'BEGIN{ $cont = 1 }; END{ print "linhas: $cont \n" }; $cont++ '

podemos usufruir de todos os recursos e módulos da linguagem perl, exemplo usando o modulo Digest::MD5 para retornar a hash dos nomes

Código:
cat texto.csv | perl -F"," -ane 'BEGIN{ use Digest::MD5 md5_hex }; print md5_hex(@F[0]) . "\n" '

com parâmetro o -M importamos o modulo desejado sem precisar ficar declarando ele com o use

Código:
cat texto.csv | perl -F"," -M"Digest::MD5 md5_hex" -ane 'print md5_hex(@F[0]) . "\n" '

[tutorial] perl via linha de comando NCOG6xq

tambem é possivel criar um script e chamar ele

Código:
#!/usr/bin/perl

print @F[0];

no comando do script não colocamos o -e apenas o nome do script

Código:
cat texto.csv | perl -F"," -an kodo.pl

embora os comandos digitados seja em um terminal linux o mesmo pode ser feito em outras plataformas tambem. Exemplo no prompt do windows

Código:
type texto.csv | perl -F"," -ane " print \"@F[0]\n\" "

[tutorial] perl via linha de comando Gvl5zOB

bom galera é isso, existem outros parâmetros que podem ser passados para o interpretador perl além dos citados \o

by kodo no kami

https://eofclub.in/forum

Ir para o topo  Mensagem [Página 1 de 1]

Permissões neste sub-fórum
Não podes responder a tópicos