Új hozzászólás Aktív témák
-
-
PhoenixAngel
csendes tag
Sziasztok!
Azért írok nektek, mert segítségre lenne szükségem! Szerintem Ti tudtok segíteni, s nekem ez elég fontos lenne! Kérlek ha tudtok, akkor segítsetek!
Nos a problémám a következő:
Egy kisebb hálózattal próbálkozom, s elakadtam a következő problémánál! (Linux server - windowsos kliensek)
Van nekem egy adott csoportom, minek neve legyen Phoenix, ami pár gépből, pontosabban pár felhasználóból áll! Mindegyiknek megvan a maga jelszava! Én ennek a csoportnak az összes felhasználójának jelszavát szeretném megváltoztatni egyszerre, pwgen-nel úgy, hogy ne legyenek benne z,y,1,I karakterek! Gondolom ezt for ciklussal lehet megírni, miután kiolvastattam a csoport tagjait a group fájlból! Majd ha megváltoztatta akkor azt írja be smbpasswd-del, valamint chpasswd-del a shadow fáljba! Valamint készítsen egy fájlt amit a csoport mindegyik tagja lát, hogy meg tudják nézni az új kódjukat, s utánna meg tudják változtatni, de azt már ne lássa senki, csak az adott felhasználó! Nem tudom, hogy erre milyen scriptet lehetne írni? Kérlek ha tudtok segíteni ebben, akkor segítsetek! Előre is köszönöm!
Phoenix -
Salak
aktív tag
Sziasztok,
Lenne egy nagy kérésem/kérdésem. Egyik haverom megkért,hogy segítsek, mert muszáj lenne átmennie info-bol, de nagyon nem ért hozzá.
Az alábbi linken a 6. órához tartozó házifeladat példáit, illetve a 7. órai házifeladatot kell neki leadnia.
[link]
Nagyon hálás lennék, ha egy-két feladatot legalább segítenétek megoldani, tényleg nagyon fontos lenne. Ja és valami ''putty''-al kell megcsinálni (talán shell nyelven, ha van olyan, sajna én egyáltalán nem értek hozzá)
Előre is köszi!"Winners never quit and quitters never win."
-
Jester01
veterán
A 7es feladat egyetlen tr parancs, csak fel kell sorolni a leképezéseket.
tr ''abcdef .... xyzABCDEF ... XYZ'' ''nopqr ... klmNOPQR ... KLM''
(illetve ugyanez fordítva)
A 6/3 az bonyolult.
A 6/2 az ellenõrzés nélkül kb. ennyi:
x=$1
val=0
shift
while [ $# -gt 0 ]
do
val=$(( val * x + $1 ))
shift
done
echo $val
A 6/1 kb:
UCEN=$1
CH=${2:-28}
D=266
if jodatum ''$UCEN''
then
if [ $CH -lt 29 ]
then
D=$(( D + CH / 2 ))
else
D=$(( D + (CH*17)/30 ))
fi
date -d ''$UCEN + $D days'' +%Y-%m-%d
else
echo hiba
fiJester
-
peterszky
őstag
tegnap vettem egy könyvet ( UNIX/Linux héjprogramozás ) és kezdek megvilágosodni
egy kérdésem lenne:
hogyan lehet megoldani, hogy az inputot két sorban kérjük be?
Egy fájlnál nincs gond, de parancssorban hogy lehet ezt megoldani ( ez dönti el, hogy fekete vagy fehér lesz a sakkbábú )?What else you gonna do on a Saturday?
-
peterszky
őstag
ha a \ (sortörés) jellel adunk meg inputot, akkor hogyan lehet azt elérni, hogy csak az első 2 sort nézze a script?
Kc6, d6, Bc7, g7
Ba4 b6 Kg8
''Az input egy sakkjáték állás, két sorban. (Az input többi sorával - ha van - nem kell foglalkozni.) Az első sorban a világos figurákat, a másodikban a sötéteket soroljuk fel. Egy figurát 2 vagy 3 jel ad meg. Ebből két jel a figura helye (a1-h8), egy ezeket megelőző jel a figura betűje (B/F/H/V/K, mindig nagybetű), ami elmarad, ha ''gyalog'' a figura. A felsorolást helyköz és/vagy vessző tagolja, a tagoló jelek tetszőleges sorozata is szerepelhet egyetlen elválasztó jel helyett.
Ellenőrizni kell, hogy az input az előző pontbeli szabályoknak megfelel-e. Ha nem, azt hibaként kell kezelni. Az is hiba, ha két figurát ugyanarra a helyre kellene tenni, vagy hiányzik valamelyik király, vagy valamelyik figurából több van, mint a játék kezdetén. (Elvileg lehetne több B/H/F/V a ''gyalogátváltozás'' miatt, de ezt nem engedi meg a feladat.)''
ezeket az ellenőrzéseket hogyan lehetne a legegyszerűbb módon elvégezni?
előre is köszönöm a segítségeket
üdv
peterszkyWhat else you gonna do on a Saturday?
-
peterszky
őstag
válasz loszerafin #164 üzenetére
köszi mindet
ma beszéltem egy évfolyamtársammal ( most mondta, hogy készen van velük ) és kérdezgettem, hogyan lenne érdemes
bemenet: két read, így a többit nem veszi figyelembe
ellenőrzés: sok if és grep egyszerű módon
pl a bástya ellenőrzésénél:
greppel kiszedni a 3 betűs kifejezések első betűjét ( jelen esetben B vagy b, mert bástya ) és azt megnézni, hogy 2nél több-e, ha igen, akkor hiba
ezek alapján nagyjából meg tudom csinálni ( azaz nagyon remélem )What else you gonna do on a Saturday?
-
seaky77
tag
Sziasztok,
Van egy problémám amit nem tudok megoldani remélem tudtok segíteni van egy fileom aminek az elejéről 3 sort és a végéről 1-et le kéne vágnom, amint a példa is mutatja a sorok között bináris adat van. Megtudom ezt csinálni shell scripttel?
Sajnos a head -n-1 nincs imlplementálva a célhardver linuxában. head -n implementálva. tail -n tail -n+1 implementálva. sed, awk is van. Meg elvileg minden, eddig csak a head-nél vettem észre a hibát. Tudnátok segíten hogy oldhatnám meg?
pl: állomány
-----------------------------7d62af20c052c
Content-Disposition: form-data; name=''test''; filename=''C:\test.dat''
Content-Type: application/octet-stream
ELF Đ
-----------------------------7d62af20c052c
Köszi,
Seaky -
loszerafin
senior tag
-
loszerafin
senior tag
válasz loszerafin #169 üzenetére
Vagy:
Mindent kitörölni, ami nem sakkbábú-betű, betűnként újsorba tenni (=>minden sorban egyetlen betű lesz, azaz annyi sor, ahány bábú), sort-olni, uniq -c -vel megszámolhatod egyszerre, miből hány van.
Ezzel csak azt akarom mondani, hogy mindenre 1000+1 megoldás van. -
seaky77
tag
-
bambano
titán
válasz peterszky #161 üzenetére
Én átkonvertálnám egy olyan filera, hogy egy bábu, egy sor, egy sorban a bábu neve, mezőszeparátor, pozíció, majd sorbarendezném első mező szerint, megszámolnám, hány bábu van, sorba rendezném második mező szerint, megszámolnám, hány olyan mező van, ami egynél többször szerepel.
Az átalakítás kb. ennyi:
sed -e 's/ //g' -e 's/,/\n/g' allas.txt|sed -e 's/[a-h][1-8]$/|&/'
a többit még szöszölöm a manualból, ha még érdekesEgy átlagos héten négy hétfő és egy péntek van (C) Diabolis
-
Jester01
veterán
Én meg a #148-ban mutatott kóddal (persze az ütközést is ellenőrizve) betölteném egy tömbbe, és onnan az egész triviális.
Jester
-
bambano
titán
Tehát az, hogy egy mezőn ne álljon két figura, az ennyi:
sed -e 's/ //g' -e 's/,/\n/g' allas.txt|sed -e 's/[a-h][1-8]$/|&/' |sort -t\| -k 2 |uniq -t\| -f1 -c|sed -e 's/^[ ]*//'|grep -v ^1
Amit kiír, azon sorokban levő mezőkön több figura áll.
A uniq és a count célszerű használatával a másik részfeladat is egyszerűen megoldható, ennek bizonyítását az olvasóra bízzuk
Szerk: most olvasom végig, kicsit lefutott már ez a thread, sorry
[Szerkesztve]Egy átlagos héten négy hétfő és egy péntek van (C) Diabolis
-
seaky77
tag
válasz Jester01 #167 üzenetére
Köszönöm a segítséget kipróbáltam
de ezt csinálta
bash-3.1$ sed '4{x;d};5~1{x;p}' < test.dat
11111
22222
33333
44444
44444
55555
55555
66666
66666
77777
77777
88888
88888
bash-3.1$
input file ez volt:
bash-3.1$ cat test.dat
11111
22222
33333
44444
55555
66666
77777
88888
99999
bash-3.1$
Köszönöm,
seaky -
joalb82
csendes tag
Hi! egy kis segítséget szeretnék kérni, a következő feladatot kaptam (mint beadandót) és még csak neki sem tudok álni, pedig ettől főgg a gyakjegyem .
Írjon szűrőt, ami vagy a paraméterként kapott fájlt vagy a standard inputot dolgozza fel.
Az input egy sakkjáték állás, két sorban. (Az input többi sorával - ha van - nem kell foglalkozni.) Az első sorban a világos figurákat, a másodikban a sötéteket soroljuk fel. Egy figurát 2 vagy 3 jel ad meg. Ebből két jel a figura helye (a1-h8), egy ezeket megelőző jel a figura betűje (B/F/H/V/K, mindig nagybetű), ami elmarad, ha ''gyalog'' a figura. A felsorolást helyköz és/vagy vessző tagolja, a tagoló jelek tetszőleges sorozata is szerepelhet egyetlen elválasztó jel helyett.
Ellenőrizni kell, hogy az input az előző pontbeli szabályoknak megfelel-e. Ha nem, azt hibaként kell kezelni. Az is hiba, ha két figurát ugyanarra a helyre kellene tenni, vagy hiányzik valamelyik király, vagy valamelyik figurából több van, mint a játék kezdetén. (Elvileg lehetne több B/H/F/V a ''gyalogátváltozás'' miatt, de ezt nem engedi meg a feladat.)
Ha nem hibás az input, akkor az állást a standard outputra kell írni, 8x8-as jelmátrix formában, úgy, hogy a világos figurákat a megfelelő nagybetű, a sötéteket a megfelelő kisbetű, az üres világos mezőket helyköz, az üres sötéteket pedig ''*'' jelzi.
Pl. input az alattuk levő eredményt adja:
Kc6 d6 Bc7 g7
Ba4 b6 Kg8
* * *k*
* B * G
gKG * *
* * * *
b* * * *
* * * *
* * * *
* * * *
Jó mi? Remélem Ti tudtok segíteni! Nagyon halás lennék érte! Rajtam ki fogot a feladat rendesen! Ha megoldást nem is tudtok de egy kétt tipet vagy tanácsot adjatok lécci! Nagyon fontos lenne! Előre is köszi -
joalb82
csendes tag
De ha tudtok megoldást az is jöhet
-
joalb82
csendes tag
Hu ténleg! Bocsi meg köszi! Istenek vagytok!
-
amargo
addikt
Ismét kérdésem volna:
tmb=1
matrix[0]=1
cat ''$1'' | while read
do
for k in $REPLY
do
matrix[tmb]=$k
#echo $k
let tmb=tmb+1
done
echo ${matrix[1]}
echo ${matrix[2]}
done
echo ${matrix[1]}
A belső ciklusban kiírja a matrix tartalmát megfelelően, de hogy lehet olyan változót csinálni, ami a ciklusokon kívűl is láttszik? Tehát, mint a done után is megtartja az értékét?“The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!”
-
amargo
addikt
válasz Jester01 #184 üzenetére
Ez remek! Közben rátaláltam googlin, hogy itt újra kellene neki foglalni a memóriát és az exporot hazsnálni stb.. de ez így ahogy írtad működik.
Nagyon köszönöm!
Van 5leted, hogy a k elemet hogy számolom össze? tehát, hogy 1sorba hány adat került? tehát a, ha
for k in a b c d e f
akkor megtudjam, a cikluson kívül, hogy a k értéke 6
[Szerkesztve]“The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!”
-
amargo
addikt
Azt hiszem hülyeséget kérdeztem ismét.. elteszem egy változóba, mert a k-ba a cat eredménye kerül.
basszus, vagy is a tmb ből meg is tudom.. na jo, most mar gondolkozom.
[Szerkesztve]“The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!”
-
joalb82
csendes tag
Én nem értek szinte egy szót sem . Nagyon kétségbe vagyok esve, az meg ugye durva kérés lenne hogy ha arra kérnélek titeket hogy valaki küldje el vagy írja ide a megoldást vagy amire eddig jutottatok??? Nagyon nem akarok megbukni. Segítsetek léccccci.
[Szerkesztve] -
amargo
addikt
Még korlátozott tudástárammal ennyire jutottam, elviekben ez jól megoldja az adott feladatot. 2 dimenziós tömböt nem tudom, hogy lehet itt csinálni.. ezért 1el csináltam. Sok minden nem elegáns benne, de még nem ismerem, hogy lehet függvényeket csinálni változókat átadni stb. Azt olvastam, hogy van, C-shell is.. de gondolom a bash ből csak hívni lehet.
A script maga feltételezi, hogy a egyenlő dimenzióju mártixok az adat forrás, ha nem, akkor hibás az eredmény akkor uzi és kilép.
tmb=0
for k in `cat ''$1''`
do
matrix[tmb]=$k
let tmb=tmb+1
done
echo ''elem: ''$tmb
sor=`grep ''^[0-9]'' ''$1'' | wc -l`
let dim=$tmb/$sor
if [ $dim != $sor ]; then
echo Nem megfelelo matrix
exit 1
fi
echo ''sor: ''$sor
b=0
oszell=0
sorell=0
for((i=0;i<$sor;i++));do
let sorok=${matrix[i+b]}+${matrix[i+b+1]}+${matrix[i+b+2]}+${matrix[i+b+3]}
#echo ''sor'' $((i+1)) $sorok
let b=b+3
let oszp=${matrix}+${matrix[i+4]}+${matrix[i+8]}+${matrix[i+12]}
#echo ''oszlop''$((i+1)) $oszp
if [ $i -gt 0 ]; then
if [ $sorell != $sorok ]; then
echo ''hibas a $((i+1)) sor''
else
sorell=$sorok
fi
if [ $oszell != $oszp ]; then
echo ''hibas a $((i+1)) oszlop''
else
oszell=$oszp
fi
else
sorell=$sorok
oszell=$oszp
fi
done“The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!”
-
joalb82
csendes tag
Köszönön szépen a segítséget! Nagyon hálás vagyok!
-
Metalwarrior
tag
Helló!
Sürgősen kérném segítségeteket. Standart input első 2 sorát kellene beolvasni és azután megkeresni xyk karaktert, xz koordinátákat tartalmaz ahova a k karaktert kell kiírni standart outputra.
Semmit se konyítok a linxhoz de nagyon kellene a script. Légyszi segítsetek. -
Tele von Zsinór
őstag
Van ez a bash script részletem:
for ((i=1;i<=8;i++)); do
if ( [[ ''$i'' -eq ''1'' ]] || [[ ''$i'' -eq ''3'' ]] || [[ ''$i'' -eq ''5'' ]] || [[ ''$i'' -eq ''7'' ]] );
then
feltolt_szokoz;
else
feltolt_csillag;
fi;
done
Ha a feltolt_* elé rakok echot, akkor azt kiírja, de látszólag, mindig a feltolt_szokoz hívódik meg.
Mindkettő egy többdimenziós tömb $i-edik sorát tölti fel, ha kell, postolom azokat is. -
Tele von Zsinór
őstag
Más kérdés, nem teljesen illik ide, de felteszem: hogy lehet egyik sima perjelből backslasht csinálni? a sed s///\/ nem megy, eddig ezzel próbálkoztam, illetve különféle escapelt verzióival.
-
Jester01
veterán
válasz Tele von Zsinór #192 üzenetére
Nekem kiválóan mûködik.
Ugyanakkor:
* A vagy operátort egy feltételen belül is használhatod:
if [[ ''$i'' -eq ''1'' || ''$i'' -eq ''3'' || ''$i'' -eq ''5'' || ''$i'' -eq ''7'' ]]
* Az eq az numerikus összehasonlítás, a számok köré felesleges az idézõjel.
* Az egészre sokkal egyszerûbb a párosságot vizsgálni:
if [[ $((i % 2)) -eq 1 ]]
then
feltolt_szokoz
else
feltolt_csillag
fi
* vagy vizsgálat nélkül:
for ((i=1; i<=7; i+=1))
do
feltolt_szokoz
i=$((i + 1))
feltolt_csillag
doneJester
-
Jester01
veterán
válasz Tele von Zsinór #193 üzenetére
> echo ''foo/bar'' | sed 's/\//\\/g'
foo\bar
Részletesen:
s: parancs
/: paraméter elválasztó
\/: védett per karakter
/: paraméter elválasztó
\\: védett backslash karakter
/: paraméter elválasztó
g: parancs módosító
Amúgy sima karaktercserére a tr parancs való, vagy a bash beépített operátora:
> t=''foo/bar''
> echo ${t//\//\\}
foo\barJester
-
Metalwarrior
tag
Üdv!
grep ''.xy'' file -ból megtalálja a kívánt karakterláncot, meg lehetne oldani, hogy ezt a jelen esetben 3 karaktert kivágjam és beletegyem egy változóba/ fájlba?
Vagy ha nem megoldtható akkor esetleg más ötlet. A feledat annyi, hogy adot az xy és kell a .-tal jelölt karakter -
peterszky
őstag
Készen vagyok a feladatokkal, amelyek most már hibátlanul működnek.
Ezúton szeretném megköszönni az összes kedves fórumtársnak, főleg Jester01-nek és loszerafinnak a segítségét!
További jó shell script írást mindenkinekWhat else you gonna do on a Saturday?
-
Jester01
veterán
válasz Metalwarrior #196 üzenetére
Mondjuk soronként beolvasod a fájlt, majd a ${valtozo#minta} használatával megkeresed az összes elõfordulást.
Jester
-
bambano
titán
válasz Tele von Zsinór #193 üzenetére
A sed nem várja el, hogy a regexpben / legyen a paraméter elválasztó, hanem az az elválasztó, amit először megtalál az s betű után.
Tehát ha /-t akarsz csereberélni, akkor hasznosabb lehet más elválasztót találni, mint pl. a vessző
sed -e 's,/,\\,g'Egy átlagos héten négy hétfő és egy péntek van (C) Diabolis
Új hozzászólás Aktív témák
Hirdetés
- Microsoft licencek KIVÉTELES ÁRON AZONNAL - UTALÁSSAL IS AUTOMATIKUS KÉZBESÍTÉS - Windows és Office
- World of Warcraft (WoW) Díszdobozok
- Játékkulcsok a legjobb áron: Steam
- AMD Game Bundle: Warhammer 40,000: Space Marine 2 és Unknown 9: Awakening - LEGOLCSÓBB!
- Eredeti Microsoft termékek - MEGA Akciók! Windows, Office Pro Plus, Project Pro, Visio Pro stb.
Állásajánlatok
Cég: HC Pointer Kft.
Város: Pécs
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest