Hirdetés

2019. február 16., szombat

Gyorskeresés

Hozzászólások

(#351) VladimirR válasza VladimirR (#350) üzenetére


VladimirR
(PH! nagyúr)

az is elegendo, ha mondtok egy, a date-hez hasonlo parancsot, ami kiirja a rendszeridot, csak mindenkeppen a masodpercnel kisebb osztas kellene

(#352) WN31RD válasza VladimirR (#350) üzenetére


WN31RD
(PH! addikt)

time

''... we as consumers want our content free (as in Freedom) and if we don't get it, we'll take our content free (as in beer).''

(#353) WN31RD válasza VladimirR (#351) üzenetére


WN31RD
(PH! addikt)

date +%s.%N

;)

''... we as consumers want our content free (as in Freedom) and if we don't get it, we'll take our content free (as in beer).''

(#354) ngabor2


ngabor2
(PH! nagyúr)

adva van egy könyvtár, benne filenevek, aik nemtudom milyen kódolással vannak, _20 van szóköz helyett bennük például. ezt szeretném "értelmes", olvasgató formába hozni egy szkripttel, de valamit megint nem tudok...

#!/bin/bash
for i in *avi; do
uj= sed 's/_20/\ /g' < echo $i;
mv "$i" "$uj"
done

lehet, hogy a ;-k is rosz helyen vannak. valami nagyon alap dolgot szúrok el benne, az biztos.

(#355) Sianis válasza ngabor2 (#354) üzenetére


Sianis
(PH! kedvence)

Sikerült már megoldani? Ha nem:

#!/bin/bash
for i in *avi;
do
uj=`echo "$i" | sed 's|_20| |g'`;
mv "$i" "$uj";
done

Ezzel próbálkozz.

Sianis

(#356) ngabor2 válasza Sianis (#355) üzenetére


ngabor2
(PH! nagyúr)

asszem ezzel is próbálkoztam, igaz, a sed-nél továbbra is a /-t használtam. van valami jelentősége?

mod: ja, hogy `` között van az egész... így még nem néztem (közben viszont kézzel átnevezgettem :D)

(#357) Sianis válasza ngabor2 (#356) üzenetére


Sianis
(PH! kedvence)

Van jelentőssége igen. Amúgy kipróbáltam, nekem megy.

Sianis

(#358) sbazsi


sbazsi
(PH! kedvence)

Kéne nekem egy batch file (vagy script vagy bármi), ami a következőst teszi:
egy adott könyvtárban (mondjuk c:\valami) az létrehoz egy új alkönyvtárat dátummal és idővel (c:\valami\200809172253), majd oda behelyezi az összes a könyvtárban megtalálható fájlt (mármint ami a c:\valami könyvtárban van)
A script bizonyos időközönként lefutna, és fontos, hogy mindig a legutóbb létrehozott könyvtárba helyezze át.
:F

(#359) Sianis válasza sbazsi (#358) üzenetére


Sianis
(PH! kedvence)

Ugye nem házi feladat a suliban? :F

Ha nem, akkor megmondom a megoldást.

Sianis

(#360) sbazsi válasza Sianis (#359) üzenetére


sbazsi
(PH! kedvence)

nem. csak szükségem lenne rá.
előre is köszi :)

(#361) Sianis válasza sbazsi (#360) üzenetére


Sianis
(PH! kedvence)

#!/bin/bash
if [ $# -eq 2 ]; then
if [ -d $1 ]; then
mit="$1"'/*'
hova="$2"'/'`date +%Y%m%d%H%M`
mkdir -p $hova
for file in `ls $mit`
do
if [ -f $file ]; then
mv -u $file $hova
fi
done
exit 0
else
echo "A forrás könyvtár nem létezik"
exit 0
fi
else
echo "Használat: movtodir <forrás könyvtár> <cél könyvtár>"
exit 1
fi

Sianis

(#362) cafat


cafat
(fanatikus tag)

Sziasztok! A segítségeteket szeretném kérni! A következő feladatot kéne megoldanom, de nem igazán vágom a témát és nem tudom hogy kezdjek neki.
A feladat a következő lenne: Egy olyan programot kell készíteni amely beolvas egy text file-ból egy gráfot és ebben megtalálja a legrövidebb utat két a programunknak megadott csúcs között.
A text file minden egyes sora egy gráf élét írja le: pl: "1-3", "4-2" stb.
Ha tudnátok a feladat megoldásában bármilyen segítséget adni azt nagyon megköszönném! :R

(#363) &rew válasza cafat (#362) üzenetére


&rew
(PH! addikt)

hat... nem kizart h shell script-bol megoldhato, de sztem van erre jobb megoldas is :)
sztem nezz at a programozo topic-ba

(#364) cafat válasza &rew (#363) üzenetére


cafat
(fanatikus tag)

A probléma az hogy shell script-ben kéne megoldanom :F

(#365) &rew válasza cafat (#364) üzenetére


&rew
(PH! addikt)

najo,
mit tudunk?
hogy allsz fajlok soronkenti beolvasasaval?
grafokkal? :)

(#366) cafat válasza &rew (#365) üzenetére


cafat
(fanatikus tag)

Nagyon nem tudok semmit mert hasonlót sem csináltunk órán. :(
A soronkénti beolvasásra valami hasonlót tudnék elképzelni, hogy egy while ciklusba beírom a következőt:
read sor < ize.txt
echo $sor
Gráfokkal kb olyan szinten állok, hogy tudom mi az, de hogy ezt shell scriptben hogy alkalmazzam nem tudom.

(#367) D@ni88


D@ni88
(PH! addikt)

Hali, valaki segítene megírni a bash programomat?
szerdára kell leadnom és segg hülye vagyok hozzá, bevallom, de ha c-be kellene akkor meg tudnám csinálni. Valaki help me pls...

1) Keressuk meg a filerendszerben (csak a home directory-ban) a file duplikatumokat
(meret, nev es tartalom alapjan ellenorizzuk, hogy valoban duplikatum-e)
es helyettesitsuk oket egy symlinkkel. Hogy melyik maradjon meg es melyik legyen
a symlink azt a felhasznalotol kerdezzuk meg (ld. a bash read parancsat).

(#368) Darth_Revan


Darth_Revan
(PH! kedvence)

Sziasztok! Tudna valaki segiteni megirni egy scripet? :B Ubuntut hasznalok es olyan script kellene, amely az expr parancs kepessegeit egesziti ki sqrt, egy hatvanyozasi kepesseggel. Elore is koszonom ;)
Fizeteskepp tudok adni egy boci csokit :D

[ Szerkesztve ]

(#369) D@ni88 válasza Darth_Revan (#368) üzenetére


D@ni88
(PH! addikt)

szintén zenész kolléga ha jól látom :D és ha jól sejtem tudom is hogy ki :DD

sok sikert kolléga úr :U nem egyszerű ez a szakma...

(#370) Darth_Revan válasza Darth_Revan (#368) üzenetére


Darth_Revan
(PH! kedvence)

Valaki? :U

(#371) icespeak


icespeak
(újonc)

Hellótok!

Valaki tudna nekem segíteni abban hogy shell script-ben, hogyan lehet kapcsolókat létrehozni úgy hogy azokkal valamilyen feladatot lehessen végrehajtani. Mégegy kérdés hogy lehet szétválogatni egy megadott fájlt páros és páratlan sorokra, majd ezeket új fájlokba elhelyezni shellben?
Előre is köszi.

(#372) Jester01 válasza icespeak (#371) üzenetére


Jester01
(PH! kedvence)

Mármint parancssori kapcsolókat? :F Legegyszerűbb esetben a kapcsolókat az esetleges fájlnév argumentumok elé teszed, és akkor egy ciklusban mehetsz egy case blokkban a $1-et nézve. Érvényes kapcsoló esetén beállítod a megfelelő változót (ami alapján később mást csinál a progi) és egy shift paranccsal lépsz a következőre. Példa:

while true
do
case "x$1" in
x-h) echo "help"; exit 0;;
x-q) Q=1; shift;;
x-*) echo "ismeretlen kapcsolo"; exit 1;;
*) break;;
esac
done

Sorok szétválogatására egyszerűen ciklusban olvasol mindig 2 sort, amiket szétdobálsz.

while true
do
read paratlan
echo "$paratlan" >> paratlan.txt
read paros
echo "$paros" >> paros.txt
done < bemenet.txt

Még tegyél bele fájlvég ellenőrzést és kész is.
MOD: persze olvashatod egyesével is, de akkor kelleni fog egy változó ami mutatja éppen a páros vagy a páratlan sor következik és az alapján eldönteni melyik fájlba kell írni.

[ Szerkesztve ]

Jester

(#373) utebb


utebb
(újonc)

Sziasztok,

lenne egy nagy kérésem. Ma dolozatot irok este shell scriptből és nem sikerült tanulnom eleget hozzá. Tudnátok este segiteni nekem. Igérem annak aki segit jövőhétre megtanulom és irok neki egy bármilyen programot. Csak segitsetek, mert nem szeretnék megbukni és félévet ismételni ebből a tárgyból. Tudom hogy szokatlan a kérés :( Kérlek jelezzetek vissza, ha segitenétek. Köszönöm

(#374) róland


róland
(PH! nagyúr)

Üdvözlet a Programozóknak!

Találtam egy érdekességet, s közben a a La Fonera 2.0 wikije is frissült a Transmission kliens telepítésének leírásával. (Ami ugyan közel1,5 hónapja megtalálható volt már a fórumon, de most egybegyűjtötték az információkat.)

Kérdésem, hogy ezt a Python scriptet ki tudná átírni Lua nyelvre, amely a La Fonera 2.0 router egyik programozási nyelve? Ráadásul annyi módosítás kellene, hogy akkor működjön, amikor nincs csatlakozó eszköz se a router LAN portján se egyik SSID jelen se.

Előre is köszönöm a segítséget!

http://logout.hu/cikk/mi_is_az_a_htpc/teljes.html; Három emeleten át egy teljes liftrapszódiát játszik!

(#375) VladimirR


VladimirR
(PH! nagyúr)

(#376) Jester01 válasza VladimirR (#375) üzenetére


Jester01
(PH! kedvence)

Parancsoljatok
Ha minden igaz, ez ekvivalens az eredetivel.
Várom a kritikákat és/vagy a kérdéseket ;)

MOD: itt egy szebb: [link]

[ Szerkesztve ]

Jester

(#377) bambano válasza Jester01 (#376) üzenetére


bambano
(Jómunkásember)
LOGOUT blog

Minél elegánsabban programozol, annál több óraciklusba kerül a script értelmezése:)

if akarmi then
echo valami
fi

helyett javasolt:
[ akarmi ] && echo valami

a case utasítást is meg lehet csinálni két ilyennel:
[ "${line[0]}" == "cpu" ] && newticks ...

remélem, hogy a shell nem csinál subshellt, amikor azt hiszem, hogy nem :)

lezso6 szerint a user: rossz számtech karmája van | @netik: There is no Internet of Things. There are only many unpatched, vulnerable small computers on the Internet.

(#378) VladimirR válasza Jester01 (#376) üzenetére


VladimirR
(PH! nagyúr)

nekem ez a resz nem teljesen tiszta:

device=${device#diskutil_}

ez mit csinal pontosan?
a # utani reszt levagja?
ugyanaz, mint a s/diskutil_// ?

(#379) Jester01 válasza VladimirR (#378) üzenetére


Jester01
(PH! kedvence)

Igen, pontosan. 3 operátor van ebben a családban, 2 verzióban: # és ##, % és %% valamint / és //. A # illetve a % a szöveg elejéről illetve a végéről törli ki a mintának megfelelő legrövidebb részt, a duplázott verzió a leghosszabbat. A / pedig cseréli az első, míg a // az összes előfordulást:

$ t=abrakadabra
$ echo ${t#*b}
rakadabra
$ echo ${t##*b}
ra
$ echo ${t%b*}
abrakada
$ echo ${t%%b*}
a
$ echo ${t/ra/X}
abXkadabra
$ echo ${t//ra/X}
abXkadabX

bambano: a case-ben vigyázni kell, ott else is van ;) Amúgy ezekről lehet tudni, hogy miért javasoltak? Olvashatóságot szerintem rontják, hatékonyságban pedig nem hiszem, hogy bármi különbség lenne.

[ Szerkesztve ]

Jester

(#380) VladimirR válasza Jester01 (#379) üzenetére


VladimirR
(PH! nagyúr)

koszonom a valaszt, igy mar ertem, ez meg hasznos lehet

(#381) Eszeveszett


Eszeveszett
(újonc)

Készítsen shell scriptet, mely a (1) paraméterként megadott PID értékű folyamatról (2) másodpercenként egyszer közli, hogy fut-e még. Tipp: használja a 'ps' és 'sleep' parancsokat!

Hakliho ezt kéne megoldani! NAGYON GYORSAN plS HELP!!!!

(#382) doc válasza Eszeveszett (#381) üzenetére


doc
(PH! nagyúr)

gondolom a vizsganak mar vege :)
egy lehetseges megoldas:

#!/bin/sh
if [ $# -ne 1 ]; then
echo hasznalat: x.sh PID
else
PID=$1
while true; do
if [ `ps ax | cut -f 1 -d ' '| grep $PID` ]; then
echo fut
else
echo nem fut
fi
sleep 2
done
fi

1N23456.HU - A Veszprém megyei motorkölcsönző

(#383) Merse


Merse
(újonc)

Sziasztok!

Problémám a következő. Olyan scriptet írok ami magyar szöveget dolgoz fel a script argumentumából. Jelenleg a Linux alatt, ahol kísérletezek csak hullámos ő betűt tudok begépelni parancssorban. Van arra lehetőség hogy rendes ő-t gépelhessek, és arra hogy mindkettőt be tudjam gépelni ha akarom? Tulajdonképpen ez utóbbi nem olyan fontos, hiszen egyféle ő úgyis elég, viszont a feldolgozásnál a script soriban mindkettőt használnom kell, mert google query-vé konvertálok szöveget, és a google számára nem mindegy a kétféle ő betű. Mit tanácsoltok?

(#384) mkbla


mkbla
(senior tag)

Vizsgaidőszak ide vagy oda, nekem iylen feladatom lenne, nagyon hálás lenneék ha ebben valaki segítséget nyújtana, előre is köszi mindenkitől:
A script listázzaki abszolútelérésiútvonallal a PATH‐on találhatófile‐ok közülazokat, amelyeketa paraméterben megadott felhasználófuttathat akárt ulajdonosjogán, akár a csoport jogán, akár mindenki másjogán.
􀁹
Példa:
$ echo $PATH
/usr/local/bin:/usr/bin:/home/h12345
$ ./listexecutables.sh h654321
/usr/local/bin/gcc
/usr/local/bin/mplayer
/usr/bin/gzip
/usr/bin/wc
/home/h12345/listexecutables.sh

ehhez pl erre godoltam volna de még igy is messze járok szte ma megosátol:

ls -l | egrep ’^-..x’ - ez az aktuális könyvtárban listázza ki..

van egy feladat is:

Írjon AWK scriptet, ami a felhasználók géphasználatát összesíti a rendelkezésre álló log file alapján! Melyik felhasználó hány alkalommal lépett be, és mennyi időt volt bejelentkezve?

pl: $ cat ./users.log
user1;login;2009-03-26;10:30
user2;login;2009-03-26;11:07
user2;logoff;2009-03-26;12:20
user1;logoff;2009-03-26;12:00
user3;login;2009-03-26;16:53
user3;logoff;2009-03-26;19:54
user1;login;2009-03-26;20:11
user1;logoff;2009-03-26;21:32

$ ./userstat.awk ./users.log output:
user1: 2 alkalom, 2 óra 51 perc
user2: 1 alkalom, 1 óra 13 perc
user3: 1 alkalom, 3 óra 1 perc

valaki vmi 5let?

''Az Open Source és linuxos rendszereknél szakértelem kell ahhoz hogy sebezhetővé tegyük a rendszert, míg a Windows esetében ahhoz kell szaktudás hogy megszüntessük a veszélyhelyzetet.''

(#385) Jester01 válasza mkbla (#384) üzenetére


Jester01
(PH! kedvence)

A listexecutables dologra az én megoldásom kb így nézne ki:
Először egy ciklus a PATH-ban lévő directorykra, azon belül az összes fájlra.
Fájlonként ellenőrizni, hogy az alábbiak valamelyike teljesül-e:
- tulajdonos egyezik-e a felhasználóval, és van-e futtatási joga.
- csoport futtatási jog van, és a felhasználó benne van a csoportban (/etc/group alapján)
- mindenkinek van rá futtatási joga

Bekavarhat, ha a PATH-ban relatív útvonal is van (tipikusan a "."). Ez ellen még azt lehet tenni, hogy egy tömbben eltárolni az összes fájlt (miután abszolúttá alakítottad) és az alapján kihagyni a duplákat. Alternatívaként bele lehet tölteni egy sort | uniq csőbe is.

Az awk script ehhez képest egyszerű. Kell egy tömb ahol felhasználónként összesíted az időket, illetve egy másik, ahol a legutoljára látott bejelentkezési időpontokat tárolod. A sorokon mész szépen végig. Ha login sor jön, akkor azt beírod a bejelentkezős tömbbe. Ha logout sor jön, akkor kiveszed a hozzá tartozó bejelentkezési időt a tömbből és a kiszámított eltelt időt pedig hozzáadod az összesítéshez. A napló végén pedig kiírod az összesített táblázatot.

Jester

(#386) Merse válasza Merse (#383) üzenetére


Merse
(újonc)

Helló, az én kérdésemre kettővel ezelőtt,nem tud senki válaszolni?

Van egy másik kérdésem is:

Az alábbi egy példa arra,
hogy egy változó neve lehet egy előre nem meghatározott dolog,
hanem valami generálja.

> export `echo alma`=2
> echo $alma
2

Én viszont ezt export nélkül szeretném,
azaz nem parancssorban,
hanem egy script file-ban,
azaz nem globális változót szeretnék definiálni.
Ilyenkor mi a megoldás,
mert az export lehagyása nem megy:

`echo alma`=2 nem értelmes

Előre is köszi

(#387) Jester01 válasza Merse (#386) üzenetére


Jester01
(PH! kedvence)

1) állíts be unicode terminált
2) az eval kell neked

Jester

(#388) Merse válasza Jester01 (#387) üzenetére


Merse
(újonc)

Köszönöm a választ az 1-re!

Az eval-t viszont nem értem,
azzal kiértékelni tudok, nem?
De hogyan tudok egy olyan változót létrehozni,
aminek a neve nem egy előre megadott string,
henem valaminek az outputja.
Nekem nem a kiértékeléssel van gondom,
hanem a létrehozással.
Tudnál írni egy egysoros példát,
hogy hogyan gondolod,
ahogy én is az export-tal?

(#389) Jester01 válasza Merse (#388) üzenetére


Jester01
(PH! kedvence)

MOD.

$ alma=korte
$ eval $alma=2
$ echo $korte
2

[ Szerkesztve ]

Jester

(#390) Merse válasza Jester01 (#389) üzenetére


Merse
(újonc)

Köszönöm a segítséget!

Most wget-tel szeretnék letölteni egy Google query eredményt,
de az alábbi a probléma:

http://www.google.hu/search?hl=hu&num=1&q=proba
Resolving www.google.hu... 74.125.39.105, 74.125.39.106, 74.125.39.147, ...
Connecting to www.google.hu|74.125.39.105|:80... connected.
HTTP request sent, awaiting response... 403 Forbidden
11:37:21 ERROR 403: Forbidden.

Szerintetek egyáltalán lehetséges ez?
Vagy a Google eredménylistája nem egy igazi html oldal?
Vagy az I'm feeling lucky-val kéne próbálkozzak?

(#391) Jester01 válasza Merse (#390) üzenetére


Jester01
(PH! kedvence)

Google úgy látszik szűr user-agent szerint. Állítsd át a wget-et valami szokványos böngészőre (firefox, ie, opera) a -U kapcsolóval.

Jester

(#392) Merse


Merse
(újonc)

Hogyan lehet egy karaktert beolvasni anélkül,
hogy enter leütésére várnánk?
(Ahogy a legtöbb linux program csinál ilyet)

(#393) Jester01 válasza Merse (#392) üzenetére


Jester01
(PH! kedvence)

Shell scriptben nem tudok egyszerű megoldást.
Grafikus programoknál tipikusan a keretrendszer már elintézi ezt.
Sima karakteres programoknál szintén lehet keretrendszert használni (pl. curses) vagy "kézzel" ki lehet kapcsolni a soronkénti pufferelést.

Jester

(#394) ngabor2


ngabor2
(PH! nagyúr)

kellene hirtelen felindulásból gyártanom egy szkriptet, ami rácspontok helyét számolja ki, és a sorrendet felállítja. egy olyan kütyühöz kellene, ami egyik soron oda, a következőn visszafele halad, tehát ezt se tudom pillanatnyilag, hogyan csináljam, de töröm rajta a fejem.

ami viszont pillanatnyilag fontosabb: hogyan tudok futás közben adatokat átadni a szkriptnek? indulás előtt paraméterezés oké, de indulás után kellene sorban beadni a pontok számát soronként és oszloponként, meg a szélső koordinátákat.

igazából majdnem mindegy, miben íródik, csak a shell szkripthez értek valamennyire.

(#395) Jester01 válasza ngabor2 (#394) üzenetére


Jester01
(PH! kedvence)

Biztos nem értem a kérdést. Standard bemenetről a read paranccsal olvashatsz be (akár tömböt is).

Jester

(#396) ngabor2 válasza Jester01 (#395) üzenetére


ngabor2
(PH! nagyúr)

köszi, utánanézek.

(#397) bence0817


bence0817
(újonc)

Valaki segítsen gyorsan!
zh-t írok, putty-ból, és itt a feladat:
3. Feladat: Írjunk programot, amelyik a paraméterül kapott számokat összeadja és az
összeget a szabványos kimenetre írja! A program maximum 10 számot tudjon
összeadni! A paraméterül megadott számok megadhatjuk a –help kapcsolót, aminek
hatására írjunk ki rövid ismertetőt a programról!
lövésem nincs hozzá! pls help gyorsan!!!

(#398) VladimirR válasza bence0817 (#397) üzenetére


VladimirR
(PH! nagyúr)

az nagyon durva lenne, ha beirnam, hogy azon felul, hogy megbuksz, remelem ezen kiserletedert meg kulon "jutalmat" is kapsz?

(#399) klipsz


klipsz
(újonc)

Sziasztok!
Segítség kéne szkript írással kapcsolatban!
Ha valaki van aki nagyon vágja hogy mit hogy kell csinálni egy bash szkript
készítésénél az jó lenne ha tudna segíteni!
A feladat a következő lenne:
http://pingvin.duf.hu/adat_,
helyről letölthető a fájl amivel különböző szűréseket
kell végezni!
A feladat:
Készítsen szkriptet,ami elvégzi a következő feladatokat:
-Írja ki azon legfiatalabb 5 úr adatait,akinek a nevében nem szerepel sem a "B" sem a "t" betű és 98000-nél nem keresnek többet (awk felhasználásval)
-Melyik városban él a legkevesebb hölgy?Listázzuk az egyes városok neveit,és az ott élő hölgyek számát,darabszám szerint csökken sorrendben (awk felhasználásval)
-Melyik hónapban születtek nagyobb arányban hölgyek?Írassuk ki az egyes hónapok sorszámát és az akkor született hölgyek %-os arányát három tizedes jegy pontossággal, %-os arány szerinti csökkenő sorrendben (awk-t használva)

(#400) rdi


rdi
(PH! kedvence)

Üdv, mi lehet a baj ezzela scriptemmel?
állandóan kiírja az is ágban lévő üzenetet

#!/bin/bash

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

echo 'irja be a fibo szamok elemszamat <programnev> elemszam>'
else
a=0
b=1
d=1
echo "-------------------------------------------------------------"
echo -n $a
echo -n " "
while test $d -le $1
do c=`expr ${a} + ${b}`
echo -n $c
echo -n " "
b=$a
a=$c
d=`expr $d + 1`
done
fi

Knoppix linux 5.1 alatt próbáltam--- segítsééég

Fej! Tor! Potroh!

Copyright © 2000-2019 PROHARDVER Informatikai Kft.