Manipulação de arquivos
Publicado por Enzo de Brito Ferber (última atualização em 24/09/2010)
[ Hits: 8.220 ]
Homepage: http://www.maximasonorizacao.com.br
Bom, resolvi aprender Perl e comecei a brincar, e achei um tutorial que tinha o seguinte exercício.
Faça um programa que leia um arquivo de texto e imprima as linhas (com sua numeração no arquivo) que contenham:
- a letra x
- a palavra 'the' (case-sensitive)
- a palavra 'the' (no-case-sensitive) - ou seja, desconsiderar se as letras são maiúsculas ou minúsculas.
#!/usr/bin/perl
#
# Regular Expressions
#
# Program that counts only the line with:
# - the letter x
# - the string the (case-sensitive)
# - the string the (non-case-sensitive)
#
# Exercice for Perl tutorial found at:
# http://www.comp.leeds.ac.uk/Perl/matching.html
#
# Enzo Ferber : <enzo@veloxmail.com.br>
# sep 2010
$file = "electricity.txt";
open ( FILE, $file );
@lines = <FILE>;
$i = 1;
foreach $_ ( @lines )
{
if ( /x/ )
{
push ( @x, $i );
}
elsif ( /the/ )
{
push ( @thecs, $i );
}
# can't be elsif because won't include the(case sensitive)
if ( /the/i )
{
push ( @thencs, $i );
}
# line numbers counter
++$i;
}
# Printing
print "Letter x\n\n";
foreach $xx ( @x )
{
print "$xx $lines[$xx - 1]";
}
print "\nthe case-sensitive\n\n";
foreach $tcs ( @thecs )
{
print "$tcs $lines[$tcs - 1]";
}
print "\nthe non-case-sensitive\n\n";
foreach $tncs ( @thencs )
{
print "$tncs $lines[$tncs - 1]";
}
script para localizar conteudo de arquivo
Rsync e Perl: Sincronização de arquivos com gestão de backup incremental integrada
Processa todos os SlackBuild's
Manipulação de Arquivos Orientada a Objetos
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Novos apps de produtividade, avanços em IA e distros em ebulição agitam o universo Linux
Como instalar o repositório do DBeaver no Ubuntu
Como instalar o Plex Media Server no Ubuntu
Digitando underscore com "shift" + "barra de espaços"
Como ativar a lixeira e recuperar aquivos deletados em um servidor Linux
Como mudar o nome de dispositivos Bluetooth via linha de comando
PIP3 - erro ao instalar módulo do mariadb para o Python (9)
É normal não gostar de KDE? (8)
O programa assinador digital (0)
dpkg: erro: gatilho de arquivo duplicado chamado pelo arquivo de nome (6)









