Anzeige:
Ergebnis 1 bis 3 von 3

Thema: PERL: regexp frage...

  1. #1
    Registrierter Benutzer
    Registriert seit
    18.12.2008
    Beiträge
    39

    PERL: regexp frage...

    Hallo,

    ich möchte die Benutzer, die nur mit dem erste Anfangsbuchstaben (des Vornamen) und anschließendem Nachnamen eingetragen sind, von den Benutzern die mit vollem ausgeschriebenen Vor -und Nachnamen eingetragen sind, trennen.

    die Benutzer sind in einer passwd Datei eingetragen

    passwd
    Code:
    vorname.nachname1:TEeSmoyolFbmU
    vorname.nachname2:TEwfmFV32A2..
    vorname.nachname3:TEOY7J0e4k/u6
    vorname.nachname4:evE8LQZSMFAyE
    v.nachname1:8LSzwM6iMIeZI
    v.nachname2:Gxtr55Iner2EQ
    v.nachname3:y.MT.R5vOEiIg
    v.nachname4:OyluhWGXOA3h6
    also,
    v.nachname1:8LSzwM6iMIeZI
    v.nachname2:Gxtr55Iner2EQ
    v.nachname3:y.MT.R5vOEiIg
    v.nachname4:OyluhWGXOA3h6

    soll von den anderen getrennt werden und in extra datei gespeichert werden.

    und hier ist das Script was noch nicht fertig ist da mir das wissen fehlt:
    Code:
    #!/usr/bin/perl -w
    
    use strict;
    
    my ($passwd, @inhalt, @csv, @trennen, $benutzer, $a);
    
    $passwd = "passwd";
    
    if (! -z $passwd) {
    	open CSV, $passwd;
    	@csv = <CSV>;
    	close CSV;
    	
    	foreach (@csv) {
    		chomp;
    		@trennen = split(/:/,$_);
    		$benutzer = $trennen[0];
    		my @v = split(/\./, $benutzer);
    		print $v[0] . "\n";
    
    	}
    
    }
    kann mir da jemand erklären wie ich das machen kann?

    Danke im voraus.

    LG,
    Roki
    Geändert von Roki (21-07-2010 um 00:19 Uhr)

  2. #2
    Registrierter Benutzer
    Registriert seit
    14.01.2002
    Beiträge
    657
    so zum beispiel

    Code:
    # alle user die als zweites zeichen einen "." haben 
    # in die datei vornameMitEinemBuchst schreiben und ausgeben
    perl -ne 'print if /^.\./' passwd | tee vornameMitEinemBuchst
    
    # aus der urspr. Datei alle diese einträge löschen
    # passwd.bak anlegen für ein backup der alten Version
    perl -i.bak -ne 'print unless /^.\./' passwd

  3. #3
    Registrierter Benutzer
    Registriert seit
    18.12.2008
    Beiträge
    39
    Hallo msi,

    DANKE! es funktioniert... :-)

    Gruss,
    Roki

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •