Hirdetés

2012. május 27., vasárnap

Hozzászólások

(#401) VladimirR válasza rdi (#400) üzenetére


VladimirR
(PH! nagyúr)

if [ $2 ='--help' ];then

az = utan tegy egy szokozt

(#402) Ansatsu


Ansatsu
(újonc)

Segitségre elnne szükségem sürgős !
Készítsen shell scriptet, mely egytől a paraméterként megadott pozitív egész számig elszámol egyesével, úgy, hogy minden sorban megjelenít egy egyesével növekvő számsorozatot, addig, ahányadik számnál tart a számlálás. Például '3' paraméter esetén a kimeneten az első sor: '1', a második sor '12', a harmadik sor pedig '123' lesz!

vki meg tudná nkm csinálni?

(#403) doc válasza Ansatsu (#402) üzenetére


doc
(MODERÁTOR)
LOGOUT blog

ez parameterellenorzest nem vegez, de megcsinalja amit kell :)

#!/bin/sh
for i in `seq 1 $1`; do
A=""
for j in `seq 1 $i`; do
A="$A$j"
done
echo $A
done

"egy felugró ablak kiírja, hogy pop-up blockert installáltam"

(#404) ngabor2


ngabor2
(MODERÁTOR)
LOGOUT blog

van egy lista, amiben mindössze néhány féle szó van, de azok többször. ezt kellene megszámolni, hogy ki hányszor, és sorba állítani őket.

megszámolni én is meg tudom (grep szó file | wc -l), csak azt nem tudom hirtelen, hogy hogyan lehet megcsinálni, hogy maga a szkript keressen rá az egyes szavakra (sort | uniq ad egy listát).

for i in $(sort lista.txt | uniq) do

ez valszeg benne lesz (ciklust sose bírtam helyesen írni...)

grep $i lista.txt | wc -l

ez fogja adni a számot... csak ezt is valami változóba, vagy egyből egy file-ba/kimenetre kellene írni, a $i elé.

erre kérnék valami kultúrmegoldást.

ez olyan, mint a görögtűz, csak görögvíz - Loretto

(#405) ivivan válasza ngabor2 (#404) üzenetére


ivivan
(kvázi-tag)

Hát a legegyszerűbb talán:
cat file | sort | uniq -c

Állatkerti képek: http://zoopic.ya.hu

(#406) bambano válasza ngabor2 (#404) üzenetére


bambano
(PH! nagyúr)
LOGOUT blog

nem értelek, a uniqnak van olyan kapcsolója, hogy meg is számolja az előfordulások számát...

man uniq:
-c, --count
prefix lines by the number of occurrences

a PH! kedvenc ISP-trollja (C) Tyberius | http://itcafe.hu/tema/a_nagy_openwrt_topic/friss.html

(#407) bambano válasza ivivan (#405) üzenetére


bambano
(PH! nagyúr)
LOGOUT blog

fölöslegesen forkolt cat-ért más fórumokon golyó általi halál jár :)

sort file | uniq -c :)

a PH! kedvenc ISP-trollja (C) Tyberius | http://itcafe.hu/tema/a_nagy_openwrt_topic/friss.html

(#408) dabadab válasza ivivan (#405) üzenetére


dabadab
(MODERÁTOR)
LOGOUT blog

sot: cat file | sort | uniq -c | sort -n

(Szerintem a kezdo cat altal adott strukturalis tisztasag boven ellensulyozza azt, hogy vmi egeszen minimalis eroforrast lefoglal az inditasa.)

[ Szerkesztve ]

Falsus in uno, falsus in omnibus.

(#409) ivivan válasza bambano (#407) üzenetére


ivivan
(kvázi-tag)

Szerencsére nem más fórumon vagyunk. Itt meg nagyon megfelel ez is: alig hiszem, hogy egy mai szerveren észre lehetne venni a különbséget. Ráadásul néha elborul az agyam és 10-15 "|" is van egy parancsban, ott meg már aligha számít egy ide-oda :-)

Állatkerti képek: http://zoopic.ya.hu

(#410) bambano válasza ivivan (#409) üzenetére


bambano
(PH! nagyúr)
LOGOUT blog

ebben az esetben valószínűleg nem, de lehet olyan, amikor igen...

a PH! kedvenc ISP-trollja (C) Tyberius | http://itcafe.hu/tema/a_nagy_openwrt_topic/friss.html

(#411) ivivan válasza bambano (#410) üzenetére


ivivan
(kvázi-tag)

Tudsz egy példát mondani, amikor ez számít?
Sok shell scriptet írok és töredelmesen bevallom, hogy szinte kivétel nélkül egy "cat filename" utasítással kezdődnek :-)

Állatkerti képek: http://zoopic.ya.hu

(#412) ngabor2


ngabor2
(MODERÁTOR)
LOGOUT blog

köszi mindenkinek, ez lett a megoldás:

cut -d \] -f2 file.txt | sort | uniq -c | sort -nr

néha nem árt a man-okat megnézni, mert kiderül, hogy egy kínszenvedve összetákolt szkript egy kapcsolóval helyettesíthető :R

ez olyan, mint a görögtűz, csak görögvíz - Loretto

(#413) bambano válasza ivivan (#411) üzenetére


bambano
(PH! nagyúr)
LOGOUT blog

például ha jól láttam, amikor a most nevű pagerrel nagy fájlt nézel, akkor ha szabvány bemeneten kapja, be kell töltenie a ramba, ha meg fájldeszktiptorként, akkor meg mmap-peli.
a "ha jól láttam"-on van a hangsúly.

a PH! kedvenc ISP-trollja (C) Tyberius | http://itcafe.hu/tema/a_nagy_openwrt_topic/friss.html

(#414) ivivan válasza bambano (#413) üzenetére


ivivan
(kvázi-tag)

Ez mondjuk logikus lenne, de nekem legfeljebb az utolsó elem lehet egy pager (én a less-t használom) az első aligha (hacsak nem hagyom ott lustaságból a "cat filename" helyett a "less filename"-et)
És itt sem az egyel kevesebb fork miatt lenne kevesebb az erőforrás igény.

Állatkerti képek: http://zoopic.ya.hu

(#415) bambano válasza ivivan (#414) üzenetére


bambano
(PH! nagyúr)
LOGOUT blog

Vannak dolgok, amik most még csak stilisztikai hibának tűnnek, később meg baj lehet belőle, ezért néha nem árt megszokni, hogy egyes, szintaktikusan helyes dolgot mégsem használ az ember.

Én pl. nem szeretem a fordított aposztrófot, a /bin/sh-t az első sorban, és ezt. Meg még lehet, hogy van más is, ami nem kedvenc :)

a PH! kedvenc ISP-trollja (C) Tyberius | http://itcafe.hu/tema/a_nagy_openwrt_topic/friss.html

(#416) doc válasza bambano (#415) üzenetére


doc
(MODERÁTOR)
LOGOUT blog

a forditott aposztrof elvileg mar obsolete valoban :)
de mi a baj a shell feltuntetesevel az elso sorban? az elvileg kotelezo ha scriptkent akarod futtatni

"egy felugró ablak kiírja, hogy pop-up blockert installáltam"

(#417) bambano válasza doc (#416) üzenetére


bambano
(PH! nagyúr)
LOGOUT blog

Nem azzal van a gond, hogy megadod, melyik shellel kell futtatni, hanem azzal, hogy valójában nem adod meg.

Ma már egy unixon soha nem tudhatod, hogy milyen shell van a szabvány sh alá dugva és az mennyire kompatibilis. Ezért szerintem jobb megoldás, ha konkrétan megmondod, hogy melyik shellt akarod. Pl. egy átlag debianon bash van az sh alatt, viszont most akarnak áttérni dash-ra. Az ördögnek pedig árkok vannak a szeme alatt (mert nem alszik :) ).

A fordított aposztróffal meg nem az a bajom, hogy obsolote, hanem az, hogy nehéz egymásba ágyazni:)

[ Szerkesztve ]

a PH! kedvenc ISP-trollja (C) Tyberius | http://itcafe.hu/tema/a_nagy_openwrt_topic/friss.html

(#418) doc válasza bambano (#417) üzenetére


doc
(MODERÁTOR)
LOGOUT blog

viszont pont azert szokas /bin/sh-t hasznalni, mert az az 'sh-szintig' kompatibilis, tehat ha a script sima sh-val fut, akkor futnia kell azzal is, amire a /bin/sh mutat, barmi is legyen az
mondju a debiannak rogeszmeje mindig mindent mashogy csinalni mint mindenki mas :-/

az egymasba agyazas valoban nehezkes backtick-kel, de az mar eleve csunya (marmint nem a backtick, az jooo :D)

"egy felugró ablak kiírja, hogy pop-up blockert installáltam"

(#419) dabadab válasza doc (#418) üzenetére


dabadab
(MODERÁTOR)
LOGOUT blog

"ha a script sima sh-val fut, akkor futnia kell azzal is, amire a /bin/sh mutat, barmi is legyen az"

Viszont ez nem kommutativ relacio, vagyis ha nalad a /bin/sh fedonev alatt futo bashon fut, az nem jelenti azt, hogy barmilyen sh--kompatibilis shellen is futni fog. (Mondjuk ugy remlik, hogy konkretan a bash ujabb verzio figyelnek erre, es ha /bin/sh neven hivja meg az ember, akkor az extra bashes funkciokat kikapcsolja - de erre azert nem epitenek.)

Falsus in uno, falsus in omnibus.

(#420) bambano válasza dabadab (#419) üzenetére


bambano
(PH! nagyúr)
LOGOUT blog

Minden bash verziónál volt ígéret arra, hogyha sh-ként indítod, szabvány shellként fog futni. De vajon betartották-e az ígéretet?

#418: egyelőre a debian az a linux, amiből legtöbbet lehet profitálni, ha át kell ülni nagyobb gépre. Egyedül ezt a betonfejű gpl dolgot nem komálom, a többi része szerintem jobb, mint más linuxoké.

[ Szerkesztve ]

a PH! kedvenc ISP-trollja (C) Tyberius | http://itcafe.hu/tema/a_nagy_openwrt_topic/friss.html

(#421) doc válasza bambano (#420) üzenetére


doc
(MODERÁTOR)
LOGOUT blog

egyelőre a debian az a linux, amiből legtöbbet lehet profitálni, ha át kell ülni nagyobb gépre.
mire gondolsz? en pont azt latom benne, hogy mindenre van sajat, debian-only megoldasa, vagyis az "ismerem a linuxot" es az "ismerem a debiant" kozel sem ugyanaz, a kereskedelmi unixoktol meg meg messzebb all

[ Szerkesztve ]

"egy felugró ablak kiírja, hogy pop-up blockert installáltam"

(#422) bambano válasza doc (#421) üzenetére


bambano
(PH! nagyúr)
LOGOUT blog

Az initje, a fájlrendszere ennek hasonlít legjobban a szabványra. Más kérdés, hogy ahogy mindenkinek a gépére fel akarnak mászni, egyre több idétlenséget raknak bele.

a PH! kedvenc ISP-trollja (C) Tyberius | http://itcafe.hu/tema/a_nagy_openwrt_topic/friss.html

(#423) ngabor2


ngabor2
(MODERÁTOR)
LOGOUT blog

fiatalok, ne ezt a topikot flameljétek tele debian-flame-mel. sőt, uinkább egyiket se. thx.

ez olyan, mint a görögtűz, csak görögvíz - Loretto

(#424) doc válasza ngabor2 (#423) üzenetére


doc
(MODERÁTOR)
LOGOUT blog

nem flame-nek szantam, csak nem ertettem :)

"egy felugró ablak kiírja, hogy pop-up blockert installáltam"

(#425) ivivan válasza doc (#418) üzenetére


ivivan
(kvázi-tag)

"az egymasba agyazas valoban nehezkes backtick-kel, de az mar eleve csunya (marmint nem a backtick, az jooo :D)"

Hát nem értek egyet. Én szeretem az egymásba ágyazást és $(...) módszerrel nagyon szépen és látványosan meg is lehet oldani. (vajon ez szabványos vagy bash specifikus? Életemben nem használtam még más shell-t :-) )

És tényleg át akarnak állni dash-ra? Az miért lesz jobb? Egyáltalán miben lesz más?

Állatkerti képek: http://zoopic.ya.hu

(#426) S.Feri


S.Feri
(őstag)

Egy játékbeli vásárlást végrehajtó script írására keresek vállalkozó szellemű egyént! :) Részletek privátban! :)

STEAM: clonefec

(#427) doc válasza S.Feri (#426) üzenetére


doc
(MODERÁTOR)
LOGOUT blog

es azt szabad?

"egy felugró ablak kiírja, hogy pop-up blockert installáltam"

(#428) S.Feri válasza doc (#427) üzenetére


S.Feri
(őstag)

Sokan csinálják! :)

STEAM: clonefec

(#429) doc válasza S.Feri (#428) üzenetére


doc
(MODERÁTOR)
LOGOUT blog

nem ez volt a kerdes :D

"egy felugró ablak kiírja, hogy pop-up blockert installáltam"

(#430) ivivan


ivivan
(kvázi-tag)

Sziasztok

Akárhogy keresgélek, nem találok olyan parancsot, ami egyszerűen visszaadná egy adott domain IP címét (mondjuk ha a example.com címét szeretném megtudni, akkor kiírná, hogy "192.0.32.10")

Valami ötlet?

Állatkerti képek: http://zoopic.ya.hu

(#431) doc válasza ivivan (#430) üzenetére


doc
(MODERÁTOR)
LOGOUT blog

pingeld meg, az a legegyszerubb :D
vagy nslookup

"egy felugró ablak kiírja, hogy pop-up blockert installáltam"

(#432) ivivan válasza doc (#431) üzenetére


ivivan
(kvázi-tag)

scriptből kellene. Az nslookup-ot én is néztem, és ha nagyon muszáj, akkor egreppel ki lehet belőle szedni az IP címet, de arra gondoltam, hogy csak van erre egy jobb módszer...

Állatkerti képek: http://zoopic.ya.hu

(#433) doc válasza ivivan (#432) üzenetére


doc
(MODERÁTOR)
LOGOUT blog

ja ertem
hat most csinaltam gyorsan egy nagyon randa de legalabb mukodo megoldast ping-gel:

ping www.index.hu -c 1 | head -n 1 | cut -d ' ' -f 3 | tr -d '(' | tr -d ')'

vagy nslookuppal normalisabb:

nslookup www.index.hu | grep Address | tail -n 1 | cut -d ' ' -f 2

[ Szerkesztve ]

"egy felugró ablak kiírja, hogy pop-up blockert installáltam"

(#434) ivivan válasza doc (#433) üzenetére


ivivan
(kvázi-tag)

Azt hittem van valami szebb. Ilyen randa nekem is ment - bár én a reguláris kifejezéseket jobban csípem:

nslookup index.hu | grep "Address" | egrep -o "[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$"

Állatkerti képek: http://zoopic.ya.hu

(#435) snowflake válasza doc (#433) üzenetére


snowflake
(tag)

Parancsolj: dig +noall +short www.index.hu

(#436) bambano válasza ivivan (#432) üzenetére


bambano
(PH! nagyúr)
LOGOUT blog

A bind-hez tartozik egy host nevű parancs is...

host index.hu |grep address | cut -f 4 -d\

[ Szerkesztve ]

a PH! kedvenc ISP-trollja (C) Tyberius | http://itcafe.hu/tema/a_nagy_openwrt_topic/friss.html

(#437) ivivan válasza snowflake (#435) üzenetére


ivivan
(kvázi-tag)

Tökéletes! Köszönöm!

Állatkerti képek: http://zoopic.ya.hu

(#438) bodri29


bodri29
(újonc)

Sziasztok!

Segítségre lenne szükségem a következőhöz:

Írnom kell egy scriptet, ami a paraméterként kapott szöveget függőlegesen írja ki.

Kérlek, segítsetek, fogalmam sincs, hogyan kéne megcsinálni...

Köszi szépen :)

Szerk: Az jutott eszembe, hogy karakterenként lehetne beolvasni a paramétert, és azokat egyesével új sorba helyezni... Ez jó? Ha igen, ez hogyan néz ki?

[ Szerkesztve ]

(#439) doc válasza bodri29 (#438) üzenetére


doc
(MODERÁTOR)
LOGOUT blog

for i in `seq 1 ${#szoveg}` ; do echo ${szoveg:i-1:1} ; done

hazi feladat? :D

[ Szerkesztve ]

"egy felugró ablak kiírja, hogy pop-up blockert installáltam"

(#440) bodri29 válasza doc (#439) üzenetére


bodri29
(újonc)

Igen, az :)

Ez így nem működik, nem ír ki semmit:

#!/bin/sh

for i in `seq 1 ${#szoveg}` ;
do echo ${szoveg:i-1:1} ;
done

(#441) doc válasza bodri29 (#440) üzenetére


doc
(MODERÁTOR)
LOGOUT blog

persze hogy nem, mert a szoveg valtozoban nincs semmi
tessek szepen tartalommal megtolteni, de ezt mar rad bizom

a ;-k meg feleslegesek a sor vegen

"egy felugró ablak kiírja, hogy pop-up blockert installáltam"

(#442) dabadab válasza doc (#439) üzenetére


dabadab
(MODERÁTOR)
LOGOUT blog

Ez nem annyira jo, mert a ${s:x:y} csak bashben mukodik, en inkabb vmi ilyesmivel probalkoznek:

#!/bin/sh
for txt in "$@" ; do
while [ -n "$txt" ] ; do
echo $txt | cut -c1
txt="`echo $txt | cut -c2-`"
done
echo ""
done

Falsus in uno, falsus in omnibus.

(#443) doc válasza dabadab (#442) üzenetére


doc
(MODERÁTOR)
LOGOUT blog

jogos a felvetes, bar a bash szerintem mar sok eve eleg alapveto kovetelmeny mindenhol

"egy felugró ablak kiírja, hogy pop-up blockert installáltam"

(#444) dabadab válasza doc (#443) üzenetére


dabadab
(MODERÁTOR)
LOGOUT blog

Parszor mar volt ugy, hogy HP-UX-en, SCO-n v vmi hasonlon kellett produkalnom valamit, ahol nem volt bash, azota egy kicsit ovatosabb vagyok :)

Falsus in uno, falsus in omnibus.

(#445) doc válasza dabadab (#444) üzenetére


doc
(MODERÁTOR)
LOGOUT blog

AIX meg IRIX mar nalam is jatszott :)
de egyiknel sem voltak ugy kiakadva, mint mikor kiderult egy oranyi szopas utan, hogy debianeknal a /bin/sh a dash-re van linkelve, ami nem erti tobbek kozott a [ parancsot...

"egy felugró ablak kiírja, hogy pop-up blockert installáltam"

(#446) bodri29 válasza dabadab (#442) üzenetére


bodri29
(újonc)

Köszönöm szépen a segítséget mindkettőtöknek :)

(#447) bambano válasza dabadab (#442) üzenetére


bambano
(PH! nagyúr)
LOGOUT blog

a kétszeres idézőjelezés miért kell?

a PH! kedvenc ISP-trollja (C) Tyberius | http://itcafe.hu/tema/a_nagy_openwrt_topic/friss.html

(#448) nermal7


nermal7
(újonc)

Sziasztok!

Remélem, jó helyre jövök a kérdésemmel.. :)

Szóval, a problémám az lenne, hogy Shellscriptben írnom kell egy scriptet, ami egy paraméterként adott fájlt szétválogat páros, és páratlan sorokra, és ezeket új fájlokban helyezi el.

Remélem, tudtok segíteni, köszi szépen!
Nermal

(#449) bambano válasza nermal7 (#448) üzenetére


bambano
(PH! nagyúr)
LOGOUT blog

Persze, tudunk segíteni. Hol akadtál el?

a PH! kedvenc ISP-trollja (C) Tyberius | http://itcafe.hu/tema/a_nagy_openwrt_topic/friss.html

(#450) dabadab válasza bambano (#447) üzenetére


dabadab
(MODERÁTOR)
LOGOUT blog

Az utolsó elötti sorban az echonál? Nem kell, C-s berögződés, hogy megadtam paraméterként egy üres stringet.

[ Szerkesztve ]

Falsus in uno, falsus in omnibus.

Copyright © 2000-2012 PROHARDVER Informatikai Kft.