Hirdetés

2019. február 23., szombat

Gyorskeresés

Hozzászólások

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


nermal7
(újonc)

Azt már elgondoltam, hogy ugye paraméterként megadok egy fájlt, amiből soronként beolvasok, majd az egyes beolvasásokat más-más fájlba küldöm, attól függően, hogy páros-e, vagy nem...
Ez így helyes? Viszont, hogy hogyan nézne ez így ki, arról fogalmam sincs..

Köszi szépen :))

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


bambano
(Jómunkásember)
LOGOUT blog

itt: txt="`echo $txt | cut -c2-`"

hm. szemészre van szükségem...

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.

(#453) bambano válasza nermal7 (#451) üzenetére


bambano
(Jómunkásember)
LOGOUT blog

kicsit olyan írjátok má' meg helyettem a házit szaga van a témának... azt pedig nem volna helyes.

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.

(#454) nermal7 válasza bambano (#453) üzenetére


nermal7
(újonc)

Nem erről van szó, csak kezdő vagyok ebben a témában, és segítséget szeretnék kérni, hogy jól gondolkozom-e, meg ilyesmi...

(#455) Jester01 válasza dabadab (#442) üzenetére


Jester01
(PH! kedvence)

A sed az ér? :B sed 's/\(.\)/\n\1/g; s/^.//;'

[ Szerkesztve ]

Jester

(#456) Jester01 válasza nermal7 (#451) üzenetére


Jester01
(PH! kedvence)

#372 :P

Jester

(#457) dabadab válasza Jester01 (#455) üzenetére


dabadab
(Jómunkásember)

Te nyertel :)

DRM is theft

(#458) sonar


sonar
(PH! addikt)
LOGOUT blog

Sziasztok,

Egy kis segítség kellene. Van egy könyvtáram ahová gyűlik a sok sok adat. És a 10 napnál régebbi könyvtárakat move-olnom (vagy copy és aztán del) kéne egy másik helyre.
Túrtam a netet, de valahogy a jó megoldást nem találtam meg.
A törlést már megtaláltam, de vhogy ezt nem sikerült copyzósra átalakítanom.
find /dfcxact/mtsn/. -ctime +10 -print|xargs rm -fr
:R

A tudást mástól kapjuk, a siker a mi tehetségünk - Remember: Your life – Your choices!

(#459) bambano válasza sonar (#458) üzenetére


bambano
(Jómunkásember)
LOGOUT blog

rm mint remove helyett mv mint move. de az xargs szerintem itt nem lesz jó, inkább
-exec mv {} celkonyvtar \; kellene.

szerk: éles próba előtt tesztelni, tesztelni, tesztelni

[ Szerkesztve ]

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.

(#460) szunyog199


szunyog199
(tag)

Hali. Szükségem lenne egy Shell script könnyen tanulható jegyzetre, amiben levannak írva a parancsok és elmagyarázza hogy mégis mi mire való. Már keresgéltem de sehol sem találtam hasznosat. Köszönöm.:)

(#461) bambano válasza szunyog199 (#460) üzenetére


bambano
(Jómunkásember)
LOGOUT blog

man bash.

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.

(#462) szunyog199 válasza bambano (#461) üzenetére


szunyog199
(tag)

Ezt énis tudom. Gondolok itt ami pl. neten elérhető vagy hasonló.

(#463) FixY67 válasza szunyog199 (#462) üzenetére


FixY67
(senior tag)

Jobbat nem nagyon találsz... Nomeg nem mind1, milyen shell...

...

(#464) Votyesz13


Votyesz13
(kvázi-tag)

Sziasztok

Egy feladathoz kérnék segítséget.Ez lenne a feladat:
A program interaktívan olvasson be név telefonszám
párosokat,amíg a felhasználó nem dönt úgy, hogy nem visz fel több
adatot.A végét az üres sor jelziHa a bevitel során két ugyanolyan nevű személlyel
találkozik a program, írjon ki értesítést a hibáról és
kérdezze meg a felhasználót, hogy felülírja‐e a régit vagy
dobja‐e el az új számot.Ha elkészült a névjegyzék, akkor azt írja ki a program egy
phone.txt nevű állományba az aktuális könyvtárba.

Alapból egy ilyen errorral indít:error: Class names, 'elso.sh', are only accepted if annotation processing is explicitly requested
1 error

Ezt a két verziót sikerül eddig összedobni:
1)
#! /bin/bash

for(i=1;i<= $# ; i++)
do
if [ -z `grep "$1 $2" phone.txt` ]
then
echo -n $1 >> phone.txt;
echo -n " " >> phone.txt;
if test i%3 -eq 0;
then
echo >> phone.txt;
fi
shift;
else
echo "Csere(1) vagy nem csere(0)? ";
read VALTOZO;
if test $VALTOZO -eq 1;
then
sed 's/`grep "$1 $2*"`/"$1 $2 $3"/' phone.txt
fi
fi
done

2)

#! /bin/bash

for(i=1;i<= expr $#/3 ; i++)

do
if [ -z `grep "$1 $2" phone.txt` ]

then
echo "$1 $2 $3" >> phone.txt;

shift;
shift;
shift;
else
echo "Csere(1) vagy nem csere(0)? ";
read VALTOZO;
if test $VALTOZO -eq 1;
then
sed 's/`grep "$1 $2 $3"`/"$1 $2 $3"/' phone.txt
fi
fi
done

Előre is köszi a segítséget.

Üdv bolvar

(#465) FixY67 válasza Votyesz13 (#464) üzenetére


FixY67
(senior tag)

Ö... :Y

Class names, 'elso.sh', are only accepted if annotation processing is explicitly requested

Ezt hogy sikerült? Ugyanis ha az információim és emlékeim nem csalnak, ez egy java hibaüzenet. Java-val próbáltad futtatni a shell scriptet?

...

(#466) bambano válasza Votyesz13 (#464) üzenetére


bambano
(Jómunkásember)
LOGOUT blog

sed 's/`grep "$1 $2*"`/"$1 $2 $3"/' phone.txt
ebben azt a csillagot szerintem kifejti az aktuális könyvtáradban levő fájlnevekre

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.

(#467) Votyesz13 válasza FixY67 (#465) üzenetére


Votyesz13
(kvázi-tag)

Hát nekünk úgy mondták hogy javac-al kell futtatni.De ha nem akkor hogyan?:)

(#468) Votyesz13


Votyesz13
(kvázi-tag)

Bocsi de elég kezdő vagyok és a feladat sem teljesen egyértelmű:D Így eddig jutottam.De van még 6 nap a leadásig:D

(#469) bambano válasza Votyesz13 (#467) üzenetére


bambano
(Jómunkásember)
LOGOUT blog

shell scriptet javac-cal nem lehet futtatni.

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.

(#470) Votyesz13 válasza bambano (#469) üzenetére


Votyesz13
(kvázi-tag)

Akkor megkérdezhetem hogy is kell?:) Mert így nemtudok haladni a feladattal:S

(#471) FixY67 válasza bambano (#466) üzenetére


FixY67
(senior tag)

Ebben biztos vagy?

Kipróbáltam egy ilyet:

echo $( echo "*" ) - itt kifejtette, de az echo $( ls "/*") esetében már nem tette meg. Az elsőnél is csak azért, mert a belső echo visszaadta a *-t, amit a külső echo kapott meg paraméterként és az bontotta ki.

...

(#472) FixY67 válasza Votyesz13 (#470) üzenetére


FixY67
(senior tag)

Pl. futtathatóvá teszed a scriptet ( chmod o+x elso.sh ) és elindítod ( ./elso.sh )

...

(#473) Votyesz13 válasza FixY67 (#472) üzenetére


Votyesz13
(kvázi-tag)

Most már megvan köszi.De a 3. sorban a for nál már egy szintaktikai hibát ír:S

(#474) bambano válasza FixY67 (#471) üzenetére


bambano
(Jómunkásember)
LOGOUT blog

amikor a grep forkolódik és összeszedi hozzá a paramétereket, akkor ki kellene fejtenie, mert idézőjelek között van...
persze nekem nem világos, hogy mikor hajtódna végre, mert előtte van egy sima aposztróf...

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.

(#475) FixY67 válasza Votyesz13 (#473) üzenetére


FixY67
(senior tag)

for((i=1;i<= $# ; i++))

...

(#476) FixY67 válasza bambano (#474) üzenetére


FixY67
(senior tag)

No ezaz, hogy idézőjelek közt a helyettesítő karaktert nem illene, csak a változókat.
Vagy szokás szerint nem értem amit írsz.
Más téma, hogy az első aposztróf után már esélye sincs a végrehajtódásra. :)
(hacsak a sed nem tud valami olyan trükköt, amiről nem hallottunk)

...

(#477) Votyesz13 válasza FixY67 (#475) üzenetére


Votyesz13
(kvázi-tag)

Az megvan már.A 9. sorban a típussal van baja?Vagy így nemjó a maradék nélküli osztás?

(#478) Votyesz13 válasza FixY67 (#476) üzenetére


Votyesz13
(kvázi-tag)

Ez a ` karakter azért kell hogy parancsként viselkedjen nem?

(#479) bambano válasza FixY67 (#476) üzenetére


bambano
(Jómunkásember)
LOGOUT blog

de ott egymás után több kiértékelés is lezajlik. először a sed miatt értékeli ki, majd összeállítja azt a parancssort, ami a grepnek kell, lesz egy grep "$1 $2*", és ezt beforkolja. de a grep indításakor is csinál egy kiértékelést és ott lesz egy fájlnév kiterjesztés.

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.

(#480) bambano válasza Votyesz13 (#478) üzenetére


bambano
(Jómunkásember)
LOGOUT blog

a fordított aposztróf használata nem javasolt, ki is fogják szedni a shellből. helyette a
$( ) szerkezet javasolt.

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.

(#481) Votyesz13 válasza bambano (#480) üzenetére


Votyesz13
(kvázi-tag)

Vhogy így kellene? 's/$(grep "$1 $2*")/"$1 $2 $3"/'
Bocsi a láma kérdésekért de kb 1 hete ha ilyeneket nézegetek:)

(#482) FixY67 válasza Votyesz13 (#481) üzenetére


FixY67
(senior tag)

Ez már közelít, de az ' miatt nem azt kapod, amit szeretnél.
De egyébként is gyanús a dolog: nem java-ban kellett volna megírnod? ;)
(csak azért kérdem, mert írtad, hogy a javac-t emlegették)

...

(#483) Votyesz13 válasza FixY67 (#482) üzenetére


Votyesz13
(kvázi-tag)

Nem javaba:)Már beugrott hogy másik órán futtattunk javavcal:D És vmi tipp hogy hogyan kellene?:)

(#484) bambano válasza Votyesz13 (#470) üzenetére


bambano
(Jómunkásember)
LOGOUT blog

szerintem először grep -v -vel ki kell szedni a fájlból a nevet, majd simán hozzáírni a végéhez.

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.

(#485) Votyesz13 válasza bambano (#484) üzenetére


Votyesz13
(kvázi-tag)

Azt értem akkor ezzel egyszerűbben ki lehet cserélni a sorokat.De hogy olvassam be a név telefonszám párosokat hogy jó legyen mert így csak a nevet írja ki a phone.txt-be.Mert most így zavaros a dolog:)

(#486) bambano válasza Votyesz13 (#485) üzenetére


bambano
(Jómunkásember)
LOGOUT blog

az egyik programverzióban echo $1 >>phone.txt van, a másikban meg echo $1 $2 $3

ja, és interaktív beolvasásra szerintem a read való, a $1... az parancssori paraméter átadásra való.

[ Szerkesztve ]

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.

(#487) Votyesz13 válasza bambano (#486) üzenetére


Votyesz13
(kvázi-tag)

Ja olvasom igen az jobb lenne.Tehát akkor a read-el bekérem először az első név-szám párost és kiíratom a txt-be,utána megint bekérem és közben ellenőrizni kellene hogy van e ugyanolyan.Így elvben okés csak a megvalósítás nehézkes:D

(#488) Votyesz13


Votyesz13
(kvázi-tag)

És így akkor a for ciklus sem jó mert úgy csak 3 argumentumon ment végig....:S

(#489) bambano válasza Votyesz13 (#487) üzenetére


bambano
(Jómunkásember)
LOGOUT blog

bash tud tömböket kezelni, úgyhogy nem feltétlenül szükséges fájlban tárolni.

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.

(#490) Votyesz13 válasza bambano (#489) üzenetére


Votyesz13
(kvázi-tag)

Tudom.Inkább úgy kellene hogy folyamatosan kérje be a név telefonszám párosokat a readel amint az egyiket már eltárolta.Azt hogy tudnám megcsinálni?

A tömbökkel az a baj hogy még nemigazán adták le órán őket szóval még ennyit sem tudok belőlük:)

[ Szerkesztve ]

(#491) Votyesz13


Votyesz13
(kvázi-tag)

Hát a problémám csak bonyolultabb lett mivel ha readdel olvasom be a valtozot akkor nem tudom leellenőrizni hogy vannak e azonos nevűek.Így gondolom külön változóba kellene szedni a nevet és a telefonszámot...Valakinek vmi elgondolás?:D

(#492) Votyesz13


Votyesz13
(kvázi-tag)

Valaki nem tudna segíteni nekem abban hogy a read-el interaktívan olvassak be addig amíg egy üres sor-t nem kap a script?Egy for ciklusba kellene berakni?Vagy hogyan?:S

(#493) FixY67 válasza Votyesz13 (#492) üzenetére


FixY67
(senior tag)

Egy read olvassa a nevet és a tel.számot vagy egyik a név, másik a tel.szám?
Előbbit egyszerűbb ciklusba tenni, utóbbit feldolgozni. ;)

...

(#494) Votyesz13 válasza FixY67 (#493) üzenetére


Votyesz13
(kvázi-tag)

Hát a feladat szerint úgy lenne jobb ha külön olvasnánk a nevet és a számot mert utána csak a nevet kell nézni az egyezésnél viszont ha cserélni akarjuk akkor az egész sort tehát a nevet és számot is cserélni kell...:S:D

Elvileg végtelen for ciklust írsz és ha üres sort kapsz akkor kilépsz return 0-al.Valahogy így kellene a for-t megoldani:S

[ Szerkesztve ]

(#495) dabadab válasza Votyesz13 (#492) üzenetére


dabadab
(Jómunkásember)

Kb valami ilyesmi kellene neked (az, hogy a while feltetele a read, arra jó, hogy end-of-file (ctrl+D vagy tényleges eof, ha pl egy pipe-ból jön az input) esetén is megszakadjon a ciklus):

function read_line()
{
while read LINE ; do
if [ -z "$LINE" ] ; then
return
fi
echo "--- $LINE ---"
done
}

DRM is theft

(#496) Votyesz13 válasza dabadab (#495) üzenetére


Votyesz13
(kvázi-tag)

uhh köszike remélem este még leszel és tudunk beszélni:D Most edzés...:D

(#497) Votyesz13 válasza dabadab (#495) üzenetére


Votyesz13
(kvázi-tag)

Na vagyok:D Szóval úgy kellene megcsinálni ahogy már írtam is hogy külön kérje be a nevet és a telefonszámot de egy sorban tárolja hogy ha majd talál egyezést a névben akkor ki tudja cserélni azt a sort.Így csak a neves változót kell vizsgálni.De ezt ebbe a whileba hogy írom bele?:S

(#498) Votyesz13


Votyesz13
(kvázi-tag)

Sziasztok

Olyan kérdésem van hogy ez a kis program nem akarja kicserélni a sed paranccsal a két változóba mentett sort.Mi lehet a baja?És esetleg hogy lehet megoldani másképp?Előre is köszi.

Üdv bolvar

(#499) FixY67 válasza Votyesz13 (#498) üzenetére


FixY67
(senior tag)

Pontosan melyik részre gondolsz? Ha aposztrófok közé (') raksz valamit, azt (általában) nem fejti ki az interpreter.

...

(#500) Votyesz13 válasza FixY67 (#499) üzenetére


Votyesz13
(kvázi-tag)

#! /bin/bash

echo -n "Kerem a nevet:"
read VAL1
echo -n "Kerem a hozzatartozo telefonszamot:"
read VAL2

while($VAL1!="" || $VAL2!="")

if [ -z `grep "$VAL1 : $VAL2" phone.txt` ]
then
echo "$VAL1 : $VAL2" >> phone.txt;
else
VALSEGED='grep $VAL1';
VALTOZO="$VAL1 : $VAL2";
echo "Csere(1) vagy nem csere(0)? ";
read VALTOZO2;
if test VALTOZO2 = 1;
then
sed 's/"$VALTOZO"/"$VALSEGED/' phone.txt
fi
fi
do

exit 0;

Na eddig jutottam.De a While vmiért nemjó:SNem olvassa be folyamatosan a nev szam parosokat.Valaki help:S

Copyright © 2000-2019 PROHARDVER Informatikai Kft.