lulz” bejegyzéshez 7 hozzászólás

  1. $a = Get-content .\adat.txt
    foreach($sor in $a){

    [int]$sor.Split(” “)[0]+[int]$sor.split(” “)[1]

    }

    $adatok = Import-csv -Header “Nev”,”Honnan”,”Db”,”Ar” -delimiter “;” -Path .\adat.txt

    $adatok | %{
    [int]$_.Ar * [int]$_.Db
    }
    function Get-Faktorial{
    Param(
    [Parameter(position=0,mandatory=$true)]
    [int]$szam
    )

    if($szam -eq 0){
    return 1
    }

    $faktorialis = 1

    1..$szam | %{
    $faktorialis*=$_
    }
    return $faktorialis
    }

    Get-faktorial
    get-content .\adat.txt | %{
    $_.split(” “)[0] + “@” + $.split(” “)[2] + “.” + $_.split(” “)[4]
    } >out

  2. Powershell (Powershell.exe / Powershell ISE)

    kis / nagybetű független több unix parancs működik aliasként pipeline, kimenet átirányítás ugyanúgy működik, mint unixban változók neve mindig $-al kezdődik, értékadásnál, és deklarálásnál is

    Unix parancsok megfelelői, és aliasok

    Unix Powershell Alias man help man ls get-childitem ls cd set-location cd cp copy-item cp mv (áthelyezés) move-item mv mv (átnevezés) rename-item rm remove-item rm, rmdir new-item -itemtype [fájl / directory] mkdir mkdir wc wc cat get-content cat echo write-output echo write-host (csak logol, nem változtatja a kimenetet)

    Változók: ◦ $int = 1 – szám ◦ $str = „foo” – sztring ◦ $arr = (1,2,3,”foo”, „bar”) – tömb ◦ $file = get-content foo.txt

    Szűrők ◦ measure-object (wc) – get-content foo.txt | measure-object ◦ sort-object (alias: sort) – get-content foo.txt | sort-object ◦ select-string (grep) – get-content foo.txt | select-string „bar”

    Tömbök ◦ méret: $arr.length ◦ elemek: $arr[i] – i. elem, 0-tól indexelve ◦ $arr[-1] utolsó elem ◦ $arr[i,j,k] – i. j. k. elem ◦ $arr[i..j] – i – j elemek ◦ $arr += $new (új elem)

    Asszociatív tömb (hashmap, dict) ◦ $assoc = @{„a” = 5; „b” = „foo”} ◦ $assoc.a ◦ $assoc[„b”] ◦ $assoc.keys (kulcsok – „a”, „b”) ◦ $assoc.values (értékek – 5, „foo”) ◦ $assoc[$key] = $value – új kulcs-érték felvétele

    Szkriptek ◦ .ps1 kiterjesztés ◦ futtatás .\foo.ps1 (ISE-ben F5) ◦ source itt is „.” – (. .\foo.ps1) – aktuális shellbe „másolja” a sorokat

    script argumentumok ◦ $args tömb, 0-tól indexelve: ▪ .\foo.ps1 a b c ▪ $args : (a, b, c) – $* ▪ $args[0] : a ▪ $args.Length : $# ◦ params blokk ▪ szkript elején ▪ param($n; $m;) – .\foo.ps1 foo bar ▪ param([int]$n) – int paraméter .\foo.ps1 5 ▪ param([double]$n) – float paraméter 1 .\foo.ps1 5.7 ▪ param([parameter(mandatory=$true)]$n) – kötelező paraméter

    matematikai műveletek ◦ alapműveletek (+, –, *, /, %) ▪ $a + $b ▪ $b * 5 ▪ stb. ◦ math osztály ▪ [math]::sqrt($n) – gyökvonás ▪ [math]::pow($n, $m) – hatványozás

    elágazás ◦ if () {} elseif () {} else {} ◦ összehasonlító operátorok: -lt -le -gt -ge -eq -ne ◦ és : -and ◦ vagy : -or ◦ tagadás: -not

    ciklusok ◦ for ▪ for ($i = 0; $i -lt 5; $i++){…} ◦ foreach ▪ (1,2,3,4,5) | foreach-object {…} ▪ get-contents foo.txt | foreach-object {…} ▪ $_ : ciklus változó ▪ aliasok: foreach, % ◦ while ▪ while ($n -lt 100) {}

    változó beolvasása ◦ $a = read-host [üzenet] ◦ beolvas az $a változóba, ha adunk meg üzenetet, akkor kiírja a beolvasás sorába ◦ pl. > $n = read-host „adj meg egy számot” adj meg egy számot: 5 > echo $n 5

    csv fájl feldolgozása ◦ get-content foo.txt | foreach-object{ $line = $_.split(„;”) $mezo1 = $line[0] $mezo2 = $line[1] }

    függvények ◦ function foo($n, $m) {
    … } foo 5 6 ◦ paramétereket szóközzel válasszuk el! ◦ visszatérési érték az összes generált output ◦ return kulcsszó outputot ír, és kilép

  3. Óra első fele: c++ mekkora fos
    Write-Host “#”
    Write-Host -NoNewLine “#”

    for($i=0; $i -lt 5; $i++){
    Write-Host -NoNewLine “#”
    }

    $n=3
    $hash=”#”
    $a=”1″
    $b=2

    $a*$b (egész számmal stringet szoroz, megy)

    for($i=0; $i -le n; $i++){

    $hash*$i

    }

    foreach ($a in (1..$n)){
    $a
    }

    % (foreach rövidítve)

    $n=3
    $hash=”#”
    (1..$n) | %{$hash*$_}

    másképp
    (1..$n) | %{“#”*$_}

    Get-Content .\adat.txt (kiirja a tartalmát)

    $a=Get-Content .\adat.txt
    foreach ($sor in $a){
    $sor + ” Valami”
    }

    $a=Get-Content .\adat.txt
    foreach ($sor in $a){
    $sor.Split(“;”)[0]
    }

    $a=Get-Content .\adat.txt
    foreach ($sor in $a){
    [int]$sor.Split(” “)[0]+[int]$sor.Split(“;”)[1]
    }

    $adatok = Import-Csv -Delimiter “;” -Path .\adat.txt

    $adat

    $adatok = Import-Csv -Header “Nev”,”Honnan”,”Db”,”Ar” -Path .\adat.txt

    $adat | %{
    [int]$_.Ar * [int]$_.Db
    }

    function Get-Faktorial($szam){
    $szam = 4

    if($szam -eq 0){
    return 1
    }

    $faktorialis = 1

    1..$szam | %{
    $faktorialis*=$_
    }
    return $faktorialis

    }

    Get-Faktorial(3) (ha az elején adom meg ($szam)

    (ha a szam tul nagy akkor kiirja hogy vegtelen, nem hibat)

    egy “vadabb” verzió:

    function Get-Faktorial($szam){
    Param(
    [Parameter(Position=0, mandatory=$true)]
    [int]$szam
    [Parameter(Position=1)]
    [string]$szoveg
    )
    if($szam -eq 0){
    return 1
    }

    $faktorialis = 1

    1..$szam | %{
    $faktorialis*=$_
    }
    return $faktorialis
    }

    Get-Faktorial 1 “SANYI”

    cim kukax sajt pont hu
    masikcim kukac géesem pont hu

    [email protected]

    Get-Content .\adat.txt | %{
    $_.Split(” “)[0]} +”@” $_.Split(” “)[2]} + “.” $_.Split(” “)[4]}
    } > OUT

  4. Unix parancsok megfelelői, és aliasok
    Unix Powershell Alias
    man help man
    ls get-childitem ls
    cd set-location cd
    cp copy-item cp
    mv (áthelyezés) move-item mv
    mv (átnevezés) rename-item
    rm remove-item rm, rmdir
    new-item -itemtype [fájl / directory]
    mkdir mkdir
    wc wc
    cat get-content cat
    echo write-output echo
    write-host (csak logol, nem változtatja a kimenetet)
    Változók:
    ◦ $int = 1 – szám
    ◦ $str = „foo” – sztring
    ◦ $arr = (1,2,3,”foo”, „bar”) – tömb
    ◦ $file = get-content foo.txt
    Szűrők
    ◦ measure-object (wc) – get-content foo.txt | measure-object
    ◦ sort-object (alias: sort) – get-content foo.txt | sort-object
    ◦ select-string (grep) – get-content foo.txt | select-string „bar”
    Tömbök
    ◦ méret: $arr.length
    ◦ elemek: $arr[i] – i. elem, 0-tól indexelve
    ◦ $arr[-1] utolsó elem
    ◦ $arr[i,j,k] – i. j. k. elem
    ◦ $arr[i..j] – i – j elemek
    ◦ $arr += $new (új elem)
    Asszociatív tömb (hashmap, dict)
    ◦ $assoc = @{„a” = 5; „b” = „foo”}
    ◦ $assoc.a
    ◦ $assoc[„b”]
    ◦ $assoc.keys (kulcsok – „a”, „b”)
    ◦ $assoc.values (értékek – 5, „foo”)
    ◦ $assoc[$key] = $value – új kulcs-érték felvétele
    Szkriptek
    ◦ .ps1 kiterjesztés
    ◦ futtatás .\foo.ps1 (ISE-ben F5)
    ◦ source itt is „.” – (. .\foo.ps1) – aktuális shellbe „másolja” a sorokat
    script argumentumok
    ◦ $args tömb, 0-tól indexelve:
    ▪ .\foo.ps1 a b c
    ▪ $args : (a, b, c) – $*
    ▪ $args[0] : a
    ▪ $args.Length : $#
    ◦ params blokk
    ▪ szkript elején
    ▪ param($n; $m;) – .\foo.ps1 foo bar
    ▪ param([int]$n) – int paraméter .\foo.ps1 5
    ▪ param([double]$n) – float paraméter 1 .\foo.ps1 5.7
    ▪ param([parameter(mandatory=$true)]$n) – kötelező paraméter
    matematikai műveletek
    ◦ alapműveletek (+, –, *, /, %)
    ▪ $a + $b
    ▪ $b * 5
    ▪ stb.
    ◦ math osztály
    ▪ [math]::sqrt($n) – gyökvonás
    ▪ [math]::pow($n, $m) – hatványozás
    elágazás
    ◦ if () {}
    elseif (
    ) {}
    else {}
    ◦ összehasonlító operátorok: -lt -le -gt -ge -eq -ne
    ◦ és : -and
    ◦ vagy : -or
    ◦ tagadás: -not
    ciklusok
    ◦ for
    ▪ for ($i = 0; $i -lt 5; $i++){…}
    ◦ foreach
    ▪ (1,2,3,4,5) | foreach-object {…}
    ▪ get-contents foo.txt | foreach-object {…}
    ▪ $_ : ciklus változó
    ▪ aliasok: foreach, %
    ◦ while
    ▪ while ($n -lt 100) {}
    változó beolvasása
    ◦ $a = read-host [üzenet]
    ◦ beolvas az $a változóba, ha adunk meg üzenetet, akkor kiírja a beolvasás sorába
    ◦ pl.
    > $n = read-host „adj meg egy számot”
    adj meg egy számot: 5
    > echo $n
    5
    csv fájl feldolgozása
    ◦ get-content foo.txt | foreach-object{
    $line = $_.split(„;”)
    $mezo1 = $line[0]
    $mezo2 = $line[1]
    }
    függvények
    ◦ function foo($n, $m) {

    }
    foo 5 6
    ◦ paramétereket szóközzel válasszuk el!
    ◦ visszatérési érték az összes generált output
    ◦ return kulcsszó outputot ír, és kilép

  5. ez jó?
    $n = read-host „Add meg az első számot:”
    $m = read-host „Add meg az második számot:”

    If($n -gt $m){Write-Output $n}
    If($m -gt $n){Write-Output $m}

Szólj hozzá!