Új hozzászólás Aktív témák
-
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
fiKnoppix linux 5.1 alatt próbáltam--- segítsééég
-
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) -
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!!! -
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.
-
-
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) -
Merse
csendes tag
válasz
Jester01 #389 üzenetére
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? -
Merse
csendes tag
válasz
Jester01 #387 üzenetére
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? -
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
-
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 jogaBekavarhat, 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.
-
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.shehhez 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 percvalaki vmi 5let?
-
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?
-
doc
nagyúr
válasz
Eszeveszett #381 üzenetére
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 -
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!!!!
-
Jester01
veterán
válasz
VladimirR #378 üzenetére
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}
abXkadabXbambano: 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.
-
bambano
titán
válasz
Jester01 #376 üzenetére
Minél elegánsabban programozol, annál több óraciklusba kerül a script értelmezése
if akarmi then
echo valami
fihelyett javasolt:
[ akarmi ] && echo valamia 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
-
VladimirR
nagyúr
-
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!
-
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
-
Jester01
veterán
válasz
icespeak #371 üzenetére
Mármint parancssori kapcsolókat?
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
doneSorok 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.txtMé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. -
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. -
Darth_Revan
veterán
válasz
Darth_Revan #368 üzenetére
Valaki?
-
D@ni88
addikt
válasz
Darth_Revan #368 üzenetére
szintén zenész kolléga ha jól látom
és ha jól sejtem tudom is hogy ki
sok sikert kolléga úr
nem egyszerű ez a szakma...
-
Darth_Revan
veterán
Sziasztok! Tudna valaki segiteni megirni egy scripet?
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@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). -
cafat
aktív tag
válasz
#25954560 #365 üzenetére
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. -
cafat
aktív 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! -
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
fiSianis
-
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. -
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"
donelehet, hogy a ;-k is rosz helyen vannak. valami nagyon alap dolgot szúrok el benne, az biztos.
-
VladimirR
nagyúr
hogyan tudom megnezni egy adott parancs futasidejet?
ha lehet, kisebb osztasban, mint egy masodperc -
pivo11
csendes tag
Sziasztok!
Egy olyan shell script-re lenne szüségem, ami egy adott könyvtárban lévö futtatható file-okat egyenként lefuttatja. Ha nem normális modon ér véget valamelyik, kiir egy üzenetet ('hibás') és halad tovább a többi programra.
Elöre is köszi.
-
ngabor2
nagyúr
no, erre senki?
nekem csak igen csúnya megoldások jutnak eszembe, biztos, hogy vannak sokkal egyszerűbbek is...
(pl. wc -l-lel megvan, hogy hány soros. tail/head párossal mindig kiolvasom egy ciklusban hátulról a köv. sort, és azt egy másik file-hoz fűzöm. ez kifejezetten csúnya szerintem, nem is írtam meg.)
-
7
addikt
Bár későn láttam meg, és már biztos vége a vizsgádnak, legközelebbre:
#!/bin/sh
clear
echo
echo
cal -y
sleep 10
clear
echo "Befejeztem!"
sleep 5De igazából ezt kisujjból vágnod kéne, ha Linux környezetben tanultok. Ezt nemhogy vizsgafeladatként, még normál dolgozat feladataként se nagyon raknám be.
-
ngabor2
nagyúr
van egy szöveges file. ebben kellene a sorok sorrendjét megfordítani.
meg egy szót másikra kicserélni, de az a sed 's///g'-vel menni fog.
-
Bero
aktív tag
Üdv fórumtársak!
KÉne egy nagyon sürgős segítség, mivel éppen vizsgánán ülök, lés a következő a kérdés:
késztsen egy shell scriptet Naptar néven, ami
törli a képernyőt
hagy két üres sort
megjeleníti az adott év naptárát
vár 10 mp-et
törli aképernyőt
kiírja a "Befejeztem!" szöveget
vár 5 mp-etEzt hogy kell létrehozni? Plz valaki írja le neke, fontos lenne tényleg, az elejétől fogva pontosan mit kell írni?
Nagyon köszönöm előre is!
-
Anakin007
aktív tag
Sziasztok!
Egy olyan szűrőre lenne szükségem, ami file-ból kiír egy másik file-ba minden olyan teljes sort,amiben egy megadott minta előfordul. grep-el próbálkoztam, nem sok sikerrel. Tudnátok segíteni? -
EEdem_Dtx
csendes tag
Hello!
cat file | sed -n '1 p' --kiírja az első sort
cat file | sed -n '$i p' -- kiír egy p betűt. Miért nem lehet így paraméterezni? Valamint hogy kellene akkor?köszi.
-
bkovacs111
csendes tag
válasz
bkovacs111 #337 üzenetére
Közben tárgytalanná vált, ugyanis sikerült megoldanom.
-
bkovacs111
csendes tag
Sziasztok!
Egy feladat megoldásában segítségre lenne szükségem.
Erről lenne szó:
[link]
A feladat ugyanaz lenne, csak a bemenetről kellene beolvasni egy szöveget.
Bárhogy próbálom, nem sikerül megoldani.
Próbáltam cat-tel átirányítani a szöveget head-re, tail-re, de nem úgy fut ahogy szeretném.
Légyszi segítsetek! -
furcsa, ha megírtam külső szerkesztővel, akkor nem jó... megírtam mcedittel és jó
tudtok segíteni, a Felhasználó név kiíratásában? (nem azonosító, a kettő nem ugyanaz, pl: Lenry, és Lengyel Richárd) a finger parancs írja mindkettőt, valahogy abból kellene mondjuk awk-val kiszedni csak a nevet
előre is köszi
-
vííí...
ez a topik pont jól jön:
előszöris, ez miért nem fut le?#!/bin/bash
whoami
who
echo $SHELL
cat /etc/shells
cat /proc/cpuinfo | grep "model name" | head -1
free
innen a harmadik feladat megoldása volna (még messze nincs kész), de egyszerűen "Nincs ilyen fájl vagy könyvtár" üzenettel el se indul -
bambano
titán
nem tudom, nekem szántad-e a választ, vagy csak így sikerült
de
a kiértékelési szabályok miatt az a két sor az duplán nagyon rossz.
ha az if mögé listát írsz, akkor a lista kilépési értéke az utolsó listatag kilépési értékével lesz egyenlő, az értékadás meg szerintem csak egészen ritka esetekkor nem fut le rendesen, tehát alaposan összekavarja a feltételt. -
Donkó
csendes tag
Kösz szépen! Tényleg a kezdőértékkel volt a baj.
Nem nagyon csípem ezt a nyelvet.
A * vagy + jelel kezdődő sorokat kellene összeszámolni.
Azt hogyan kell?
Azután már majdcsak készleszek.
Még egy kérdés, hogyan tudok 3 értéket if feltételbe összevagyolni?
Még nem vágom annyira ezt a szintaktikát!
Más szóval ezt szeretném átírni!
Pl javaban: if ((a<=0) || (b=0) || c<=0))
System.out.println("Hiba üzenet!"); -
Donkó
csendes tag
#!/bin/bash
if [ $# -eq 0 ]; then #Ha nem adunk meg paramétert akkor ezt kiírja!
echo "Legalabb egy parancssori paramtert meg kell adni!"
#exit 1
fi
MAX=0
MIN=0for i in $* ; do
if ! [ -f $i ]; # ez azt nézi meg melyik nem létezik!
then echo "$i - ez a fajl nem letezik";
else
SORSZAM=`wc -l< $i`;
echo "$i - $SORSZAM sor";if [ $SORSZAM -lt $MIN ]; # Legkisebb ertek.
MIN=`wc -l< $i`;
then MIN=$SORSZAM;
fi
if [ $SORSZAM -gt $MAX ]; #Legnagyobb érték
then MAX=$SORSZAM;
fifi
done
echo "Legrövidebb file: $MIN";
echo "Leghosszabb file: $MAX";
Már átvariáltam így a kódot. Ha olyan fájlt adok meg ami nincs,akkor nem számol. De a MIN érték sehogy sem akkar kijönni. MIN az a legkisebb sorok száma.
Az állománynevet sem tudom odatenni! Hogy melyik a legkisebb és a legnagyobb sor -
Donkó
csendes tag
#!/bin/bash
if [ $# -eq 0 ]; then #Ha nem adunk meg paramétert akkor ezt kiírja!
echo "Legalabb egy parancssori paramtert meg kell adni!"
#exit 1
fifor i in $* ; do
if [ -f $i ]; # ez azt nézi meg melyik létezik!
then SORSZAM=`wc -l< $i`;
echo "$i - $SORSZAM sor";
# $i=`egrep ’[ * || + ].*’;
else echo "$i - ez a fajl nem letezik";
fi;
done;MIN=`wc -l< $1`;
for i in $* ; do
SORSZAM=`wc -l< $i`;
if [ $SORSZAM -lt $MIN ]; # Legkisebb ertek?
then MIN=$SORSZAM;
fi
done
MAX=`wc -l< $1`;
for i in $* ; do
SORSZAM=`wc -l< $i`;
if [ $SORSZAM -gt $MAX ]; #Legnagyobb érték
then MAX=$SORSZAM;
fi
doneecho "Leghosszabb file: $MAX";
echo "Legrövidebb file: $MIN";
echo "E ketto atlaga:$(((MAX+MIN)/2))";
Köszönöm az eddigi segítséget. már eddig eljutottam.
Azt szeretném még kérdezni, hogyan lehet a MAX és a MIN -hez tartozó fájlokat kiírni.
Ha olyan fájlt adok meg ami nem létezik, akkor kiírja ugyan hogy nem létezik, de dob egy adag hibaüzit., hogy nincs ilyen könyvtár. Hoygan lehetne azt kiküszöbölni?
A fájlnak együttesen hány olyan sora van, ami a * + karaktereket tartalmazza.
Sajnos ez sem akar sikerülni!
Légyszi, aki penge a témában segítsen! -
VaZso
senior tag
Huhh, való igaz...
Lehet,hogy késő van már?Köszönöm és működik szépen a routeren is, már csak meg kell írnom a feltételvizsgálat többi részét, hogy pl. ne csak idén számoljon megfelelően... habár... de ez már menni fog, csak az előbb voltam ennyire értetlen.
Esetleg, ha valaki tud egy igazán jó és egyszerű leírást erről a script nyelv(ek)ről, annak örülnék. Bár az aktuális feladathoz nincs töblettudásra szükségem, de érdekes dolgokra lehet használni, ezért érdekelne bővebben is.
Mégegyszer köszönöm a segítséged.
-
VaZso
senior tag
% 3 nélkül kiírja az eredményt.
...viszont hogy tudnám ezt számként felhasználni? ...vagy így nem jó?
Bocs, ha hülye kérdés... -
VaZso
senior tag
Köszi.
Beírtam neki, de sajnos a válasza "0", idézőjel nélkül...
Esetleg más megoldás lehet rá?
...vagy inkább kéne írni egy programot és lefordítani rá?Ezzel az a baj, hogy C-t annyira nem ismerem, Pascal fordítót pedig nem találtam hozzá, elvileg C-t le lehet rá fordítani... Van valami toolchain hozzá és valami mipsel paraméterről beszélnek... amúgy WL-500GD.
-
VaZso
senior tag
Sajnos nem ismerem a shell scripteket, ezért bocsi, hogy beleszólok, de... az if szerkezetet általában lehet használni if... then... else formában. Ha itt is van erre lehetőség, akkor talán megoldott a probléma.
Esetleg case struktúra?
-------------------------------------------
Van egy kis problémám a routeremen lévő BusyBox-on (bin/sh)...
Megoldottam rajt, hogy a Wshaper script az aktuális napszaktól függően más beállításokkal üzemeljen.
Mivel hetente máshoz kell igazodni, ezért 3x1 heti különböző beállításom váltja egymást.Ez így működik, de a router újraindításakor meg szeretném állapítani, melyik az aktuális hét a háromból... A date +%W megadja nekem, az év hányadik hete van. Hogy tudnám ezt nem sztringként, hanem számként kezelni ill. ezzel műveletet végezni (modulo alapján történő feltételvizsgálat)?
-
Corwus
csendes tag
Hogyan tudnám elérni azt hogy az if szerkezetben ha belefut a program az egyik ágba akkor a többi feltételt már ne vizsgálja?
-
Donkó
csendes tag
Üdv mindenkinek!
Shellcript segítséget szeretnék kérni.
Hogyan tudom a paramétereket összehasonlítani a létező fájlokkal? Aztán ha nincs ilyen fájl akkor hibaüzenetet írni, a beírt paraméter nevével.
Aztán megállapítja a létező fájlok sorainak a számát.
Megállapítja hogy melyik a leghosszabb, és legrövidebb fájl, és kiszámolja a két érték átlagát.
Kiszámolja azt is hogy az összes fájlban összesen hány ilyen sor van, amelyek legelején legalább egy * vagy+ jel van.
Ez eléggé összetett probléma, az első kérdésemre mindenképp választ szeretnék kapni.
Üdv, és előre is kösz. -
KahoR
csendes tag
Hello!
Lehet nagyon láma lessz a kérdésem de awk-nak lehet át adni változót egy shell script-ből ha az awk parancsok a shellscripten belül vannak.
Konkrétan:
ls -l $KONYVTAR|egrep '^-'|awk #kilistázzuk a közönséges állományokat
'{if ($5 > [B]SZAM[/B]) print $9 "(" $5 ")"; #kiírjuk a SZAM-nal nagyobb méretú fájlok nevét
if ($5 > [B]SZAM[/B]) Szamlalo+=$5 }
END {print "Összesen: " Szamlalo " bájt" }' #kiírjuk a feltételnek megfelelő fájlok összesített méretétNamármost a SZAM lenne egy változó vagyis egy parancssori paraméter amit ugye a script indításakor adunk meg.
-
Vladi
nagyúr
Sziasztok!
Van ez a keytouch-os init szkript:
#!/bin/sh
#
# /etc/init.d/keytouchacpid
# Subsystem file for keytouch-acpid
#
# chkconfig: 2345 95 05
# description: keytouch-acpid lets ACPI hotkeys work as normal keys
#
# processname: keytouchacpid
#
# http://keytouch.sourceforge.net
#
# Heavly edit to match with fedora init scripts schemes
# First edit by Xavier Lamien aka SmootherFrOgZ < lxtnow[at]gmail.com >
#
# Source function library.
if [ -f /etc/init.d/functions ] ; then
. /etc/init.d/functions
elif [ -f /etc/rc.d/init.d/functions ] ; then
. /etc/rc.d/init.d/functions
else
exit 0
fi
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DESC="keytouch-acpid daemon"
DAEMON="keytouchacpid"
SCRIPTNAME=/etc/init.d/keytouchacpid
prog="keytouch-acpid"
RETVAL=0
exec="/usr/bin/keytouch-acpid &"
PID="ps axo "%p,%a" |grep "$NAME"|grep -v grep|cut -d',' -f1"
getpid () {
PID="ps axo "%p,%a" |grep "$NAME"|grep -v grep|cut -d',' -f1"
}
start () {
#start daemon
action $"Starting $prog daemon:" $exec
RETVAL=$?
if
[ "$RETVAL" -eq "0" ]; then
touch /var/lock/subsys/keytouchacpid
fi
return
}
stop () {
getpid
if [ -n "$PID" ]; then
#stop daemon
killproc $NAME
fi
RETVAL=$?
if
[ $RETVAL -eq "0" ]; then
rm -f /var/lock/subsys/keytouchacpid
}
restart () {
stop
start
}
case $1 in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
condrestart)
[ -f /var/lock/subsys/keytouchacpid ] && restart || :
;;
reload)
echo -n $"Reloading $DESC: $NAME "
killproc $NAME -HUP
RETVAL=$?
echo
;;
status)
status $NAME
;;
restartlog)
stop
cat /dev/null >/var/log/keytouchacpid/error_log
start
;;
*)
echo $"Usage: $NAME {start|stop|restart|condrestart|reload|status}"
exit 1
esac
exit $RETVALErre azt mondja nekem:
[root@localhost ~]# /etc/init.d/keytouchacpid status
/etc/init.d/keytouchacpid: line 60: syntax error near unexpected token `}'
/etc/init.d/keytouchacpid: line 60: `}'
[root@localhost ~]#A kérdéses sor ennek a vége:
stop () {
getpid
if [ -n "$PID" ]; then
#stop daemon
killproc $NAME
fi
RETVAL=$?
if
[ $RETVAL -eq "0" ]; then
rm -f /var/lock/subsys/keytouchacpid
}Nem bírok rájönni mi itt a szintaxis hiba. Csomagból lett telepítve, nem én követtem el.
-
plaschil
aktív tag
Sziasztok!
Az lenne a kérdésem hogy egy szűrt adatbázis kimenete ha 0 akkor azt hogy vizsgálom meg?#! /bin/sh
if [ $# -eq 1 ]
then awk 'BEGIN{FS="@@"} {if($2=='$1') print $1"\t"$5}' autok.txt
else echo Egy gyártási évet adjon meg!
fiEbből kellene azt kihozni hogy ha a szűrés eredménye sikertelen, akkor írjon valami hibaüzit.
Például meg lehetne azt vizsgálni hogy a $5 output 0 hosszúságú?
Valahogy így:
if [ -z $5 ]
then Nincs találat!
fiHelp please.
-
Anakin007
aktív tag
Sziasztok!
Van 1 ftp szerver és a rajta lévő állományokról szeretnék 1 rekurzív listát. kéne vmi 5let, hogyan csináljam v. merre induljak el. A nehéz az benne, hogy csak és kizárólag könyvtárakról szertnék listát, a bennük lévő file-okról nem.
Sajnos a szerverhez csak ftp accom van. -
ngabor2
nagyúr
úgy tudom, hogy kiértékelődik... de ebben nem vagyok 100%-ig biztos. lehet, hogy az idézőjelbe tett $akármivel keverem?
az alaphelyzet az, hogy nagyon sok kt, nagyon sok file-lal. ezért gondoltam az xargs-ra, mert abba biztos, hogy befér, hisz arra tervezték.
én személy szerint úgy oldottam meg korábban, hogy egy file-ba tettem az eredményt, és abból szedegettem ki egyenként a sorokat, nagyon fapasod módszerrel, amit nem akarok beírni, mert bár működik, nem elegáns.
-
bambano
titán
ehh, elég szerencsétlen kétszer regidir-t használni
első esetben egy könyvtárnév string, második esetben változónév.
cd ujdir
(cd regimp3gyujtemeny; find . -name '*.mp3') | while read p ; do
regidir=$(dirname $p)
[ -d $regidir ] || mkdir -p $p
lame <parameterek> regimp3gyujtemeny/$p $p
done
Új hozzászólás Aktív témák
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- Windows 10
- Azonnali alaplapos kérdések órája
- Milyen billentyűzetet vegyek?
- Otthoni hálózat és internet megosztás
- Airsoft
- Megújult a PROHARDVER!
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Subaru topik
- Futás, futópályák
- További aktív témák...
- Vírusirtó, Antivirus, VPN kulcsok
- Eredeti Microsoft termékek - MEGA Akciók! Windows, Office Pro Plus, Project Pro, Visio Pro stb.
- Eladó steam/ubisoft/EA/stb. kulcsok Bank/Revolut/Wise (EUR, USD, crypto OK)
- Adobe Előfizetések - Adobe Creative Cloud All Apps - 12 Hónap - NYÁRI AKCIÓ!
- Kaspersky, McAfee, Norton, Avast és egyéb vírusírtó licencek a legolcsóbban, egyenesen a gyártóktól!
- Csere-Beszámítás! RTX Számítógép PC Játékra! I3 10100F / RTX 2060 12GB / 32GB DDR4 / 500GB SSD
- DELL PowerEdge R630 rack szerver barebone - 2xSocket 2011v4 , 24x DDR4 DIMM, H330 RAID, 39369Ft+ÁFA
- Csere-Beszámítás! Xbox One X 1TB Játékkonzol Olvass! Model 1787
- Bomba ár! Lenovo ThinkPad L390 - i7-8GEN I 8GB I 256SSD I 13,3" HD I HDMI I Cam I W11 I Gari!
- Bomba Ár! Dell Latitude 3190 - Intel N4120 I 4GB I 128GB SSD I 11,6" HD I Cam I W11 I Garancia!
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest