Hirdetés

2024. április 24., szerda

Gyorskeresés

Hozzászólások

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


VladimirR
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
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
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
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
addikt

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
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
addikt

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

Sianis

(#358) sbazsi


sbazsi
veterán

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
addikt

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
veterán

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

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


Sianis
addikt

#!/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
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) #25954560 válasza cafat (#362) üzenetére


#25954560
törölt tag

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 #25954560 (#363) üzenetére


cafat
tag

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

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


#25954560
törölt tag

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

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


cafat
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
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
veterán

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
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
veterán

Valaki? :U

(#371) icespeak


icespeak
csendes tag

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
veterán

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
csendes tag

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
veterán

Ü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
nagyúr

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


Jester01
veterán

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
titán
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 :)

Egy átlagos héten négy hétfő és egy péntek van (C) Diabolis

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


VladimirR
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
veterán

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
nagyúr

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

(#381) Eszeveszett


Eszeveszett
csendes tag

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
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

(#383) Merse


Merse
csendes tag

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
veterán

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
csendes tag

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
veterán

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

Jester

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


Merse
csendes tag

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
veterán

MOD.

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

[ Szerkesztve ]

Jester

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


Merse
csendes tag

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
veterán

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
csendes tag

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
veterán

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
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
veterán

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
nagyúr

köszi, utánanézek.

(#397) bence0817


bence0817
csendes tag

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
nagyúr

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

(#399) klipsz


klipsz
csendes tag

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
veterán

Ü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-2024 PROHARDVER Informatikai Kft.