Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    110

    [perl] - redirezionamento output e funzioni "awk > e grep"

    salve ho una funzione molto semplice

    @myDir = <*>;
    foreach $myDir (@myDir) {
    next if $myDir =~ /^\.\.?$/;
    system("ls -l ".$myDir." | awk '{print \$9}'"."\n");
    }

    visualizza il nome dei file contenuti in diverse sottocartelle

    però l'output viene visualizzato nel seguente modo:

    testo1.txt
    testo2.txt

    testo3.txt

    testo4.txt
    testo5.txt
    testo6.txt

    visualizza uno spazio quando cambia cartella
    cioè testo1 e testo2 appartengono ad una cartella, testo3 ad un'altra testo 4,5,6 ad un'altra ancora.

    Ora se voglio eliminare gli spazi devo prima direzionare l'output di visualizza.pl su un altro file e poi usare il comando grep sul secondo file per eliminare gli spazii

    sotto shell è

    perl visualizza.pl > outputVis.txt

    poi eseguo il grep

    grep -v "^ *$" ./visualizza.pl > senzaSpazio.txt

    come faccio ad avere lo stesso risultato direttamente modificando il codice di visualizza.pl
    Vorrei che chiamando direttamente
    perl visualizza.pl
    mi togliesse gli spazii e mi redirezionasse l'output su un file.
    consigli?
    tks

  2. #2
    codice:
    @myDir = <*>;
    foreach $myDir (@myDir) {
       
       next if $myDir =~ /^\.\.?$/;
       
       $output = `ls -l $myDir | awk '{print \$9}'`;
       
       $output =~ /^ *$/;
       print $1;
       
    }

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    110
    tks


Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.