Új hozzászólás Aktív témák
-
-
Dj Sügi
őstag
Aki otthon van a reguláris kifejezésekben és szívesen segítene az dobjon már egy privit nekem.
Köszönöm!🚗 FORD - First On Race Day 🚗
-
csiki_92
aktív tag
Sziasztok!
Olyan kérdésem lenne, hogy adott adat nevű fájl, melyben az alábbi minta szerint vannak adatok:
1.,Balogh Elvira,hölgy,1988.06.02.,Sárospatak,85000A következő a feladat: Melyik napon született a legtöbb úr? Listázzuk az egyes napok sorszámát, és az akkor született urak számát, darabszám szerint növekvő sorrendben.
A megoldásom a következő:
sort -t, -rk5 adat | awk -F, '($3=="úr") { print $4 }' | uniq -c | awk ' { print $2"\t"$1 }' | sortNos, ezzel az a baj, hogy a teljes évszámot kategorizálja, és kiírja például, hogy 1965.08.25-én 1 úr született. Nekem pedig csak napokra lebontva kellene a megoldás. Ha valaki tudna segíteni benne, akkor azt nagyon megköszönném!
-
-
csiki_92
aktív tag
válasz bambano #1755 üzenetére
Na az alábbi paranccsal sikerült eljutnom odáig, hogy levágja az évet és a hónapot:
sort -t, -rk5 adat | awk -F, '($3=="úr") { print substr($4,9,3) }' | uniq -c | awk ' { print $2"\t"$1 }' | sortViszont még mindig van két problémám, az egyik, hogy ettől függetlenül még mindig teljes dátum szerint csoportosít, nem napok szerint, a másik, pedig, hogy dátum szerint rendezi sorba, és nem darabszám szerint.
-
-
Jester01
veterán
Ha már shell script topik akkor itt a szokásos megoldásom is
#! /bin/bash
declare -A stats
maxcount=0
while read line
do
tmp=${line#*,*,}
if [ "${tmp:0:2}" != "úr" ]
then
continue
fi
tmp=${tmp#*.*.}
day=${tmp:0:2}
if [ -z "${stats[$day]}" ]
then
count=1
else
count=$((stats[$day] + 1))
fi
stats[$day]=$count
if [[ $count > $maxcount ]]
then
maxcount=$count
maxday=$day
fi
done
echo "$maxday ($maxcount)"[ Szerkesztve ]
Jester
-
-
válasz csiki_92 #1760 üzenetére
ezt azért csinálja, mert minden hónapban lehet 12.-e. ezt úgy tudod megjavítani, ha a uniq -c elé közvetlenül is teszel egy sort-ot.
szerk: "Gondolom én, hogy attól még, hogy én csak a napokat látom, attól még a dátum levágott részét is figyelembe veszi a csoportok létrehozásánál.": nem, nem veheti figyelembe, mert az nincs ott.
az ok az, hogy a uniq csak akkor tudja korrekten összeszámolni a sorokat, ha azok egybefüggően, egymás után vannak. viszont:
dátum levágott dátum
1988.05.12 12
1988.05.20 20
1988.06.12 12ez lesz belőle, ezt a uniq nem tudja összeszámolni, mert nem tárolja el az egész fájlt, csak az éppen feldolgozott plusz az előtte levő sort.
[ Szerkesztve ]
Egy átlagos héten négy hétfő és egy péntek van (C) Diabolis
-
-
-
-
-
prucam
tag
Sziasztok,
ptc-zek s szeretném a reff-ek átlagát kiszámolni. Odáig eljutottam, hogy a .htm-ből megkapjam a sorokat:
Egy részlet, hogy néz ki:
....
17 [R781153008 ] 2014/05/27 at 22 days and 2014/05/ 7 1.000 [recycle] [info-r] [ ]
00:31 21:14 28
18 [R3325737139 ] 2014/05/27 at 22 days and Yesterday 7 1.000 [recycle] [info-r] [ ]
00:31 21:14
19 [R2656436594 ] 2014/05/27 at 22 days and 2014/05/ 4 0.571 [recycle] [info-r] [ ]
00:31 21:14 27
20 [R1966968045 ] 2014/05/23 at 17 days and 2014/05/ 2 0.182 [recycle] [info-r] [ ]A tizedesjegyű-számokat szeretném szűrni, de elakadtam:
grep -o [0-9].[0-9][0-9][0-9]
eredmény:
1.000
33257
37139
1.000
26564
36594
0.571
19669
68045
0.182 -
Lacpac
őstag
Sziasztok,
Indítottam egy kis házi szerverecskét ubuntu alapokon.
Regisztráltam egy dns szerverre, és most ddclient végzi az ip frissítését.
Az vele a gondom, hogy a ddclient 300s-ként (5 perc) végzi ezt el.
Nekem a 100%-os elérhetőség lenne a cél. Volt rá példa hogy 4 óra alatt 3× váltott ip-t a szolgáltató.
Lehet olyan script-et írni amivel pingelem a dns címem 5s-ként, majd ha nem érkezik rá válasz 3s alatt akkor restartolja a ddclientet?
Restartkor ugye rögtön frissíti az ip-t.Ha lehet akkor tudna benne segíteni valaki? Kezdő vagyok linuxból.
Köszi előre is a válaszokat.
-
-
prucam
tag
válasz Jester01 #1771 üzenetére
Jester, köszi szépen az awk-s megoldást. Szuper!
Van egy file, amiben egy oszlopban vannak a számok. Valahogy így:
0.2121
1.21
3.423
1.23Nekem így kellene:
0.2121 1.21 3.423 1.23
Egy sorba, s az elválasztás köztük egy tabulátor legyen.
Azért próbálkoztam....pl.:
sed -i 's/\n/\t/' file
-
-
Jester01
veterán
Vagy paste -s
[ Szerkesztve ]
Jester
-
prucam
tag
Végül is a "tr"-es megoldás lett:
cat file | tr '\n' '\t'
Egyébb:
- a "sleep" parancs mire jó, mikor használjuk?
- az awk-s parancsnál fent (#1771) beillesztettem script-be, s az lenne a kérdésem, hogy nem lehet-e azt megformázni; sor elejére igazítani (v. egy sorba az egész)?
-
-
-
Speeedfire
nagyúr
Sziasztok!
Felmerült egy olyan "igény", hogy dinamikusan tudjam állitani a hálózat proxy részét. Cégen belül proxy-t kell használni, de amikor nincs rá szükségem, akkor ki kell kapcsolni. Ezt ugye meg csak úgy tudom, ha kikommtezem a környezeti változót és újrainditom a gépet. Ehhez keresnék megoldást. Jelenleg saját proxy-val van megoldva.
Innen indult az egész.#200012 bambano:
a /etc/profile-t minden login shell végrehajtja, tehát azt látni fogja mindenki, aktuális helyzet szerint.
Nekem elég ha a saját user és a root használja ezeket a proxy beállitásokat, a legnagyobb bajom ezzel ugye a ki-belépés. Minden programot bezárni, kilépni, belépni. Főleg ha melózok épp valamin.
Ha a saját helyemen ülök, akkor kell a proxy, de ha már wifi-zek, akkor nincs rá szükség, mert olyankor inkább csak jegyzetelek, vagy neten mutatom be, mit csináltam.Olyan lenne a legjobb, ami dinamikusan állitja a proxy változókat. Legyen akár valami tigger, hálózati ip alapján, vagy akár egy parancsikon az asztalon.
Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com
-
válasz Speeedfire #1784 üzenetére
még mindig azt tartom legegyszerűbbnek, hogy legyártod az apt konfigját két példányban, és írsz egy scriptet, ami cseréli. A scriptet az ip-up.d könyvtárba kell tenni, akkor minden esetben végrehajtódik, amikor felhúzza az interfészt.
ha megmondod, mi a különbség a céges net és az otthoni között, akkor meg lehet faragni a scriptet, ami meg tudja különböztetni a kettőt.
Egy átlagos héten négy hétfő és egy péntek van (C) Diabolis
-
Speeedfire
nagyúr
válasz bambano #1785 üzenetére
Az apt a legkevesebb, mert az át tudom írni futás időben is. 1 sor komment.
Igazából az ip tartomány a különbség a 2 környezet között, nekem a sidewide környezeti változó lenne a fontos, hogy kilépés nélkül is tudjak cserélni http_proxy és a https_proxy változókat.
Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com
-
Ezt most találtam:
:(){ :|: & };:
tely, baly, fojó, mennyél, mingyárt, telyföl, tolyás, malyd, kapú, egyenlőre, ejsd, jáccani, ahoz, fúj, hüje, muszály, alat, álok, lasan, fojtatás, ál, fontós, költsön, eggyüt, lyob (jobb?), mek, mongyak, milyért - !!! Tanúlyunk már meghejjessen irni... !!!
-
Sleed
aktív tag
válasz bob.zxr hozzászólására:
egyik sem működik sajnosaz elsőre az output:
/home/pi/test/logs_..zipszerk: ez működik, elgépeltem, bocsi
a második abból a könyvtárból szépen lefut, nem is rakja bele a felesleges könyvtárakat, de ha máshonnan akarom futtatni akkor ezt dobja:
zip warning: name not matched: ./logs
zip error: Nothing to do! (try: zip -r -b /home/pi/test/ /home/pi/test/logs_device00.zip . -i ./logs)[ Szerkesztve ]
-
BoB
veterán
Azt elnéztem, csak adott könyvtárban működik. Mindenképpen kell a log mappa vagy elég ha csak a fájlok vannak belőle? (értsd: a zip fájlban egyből a fájlok vannak mindenféle mappa nélkül)
Mert akkor így:
/usr/bin/zip -rj /home/pi/test/logs_$HOSTNAME.zip /home/pi/test/logs/*[ Szerkesztve ]
You may corrupt the souls of men, but I am steel. I am doom.
-
Jim-Y
veterán
Sziasztok!
Ide is belinkelem, hátha itt is tudnak okosat mondani: http://prohardver.hu/tema/linux_abszolut_kezdoknek/hsz_27514-27514.html
Üdv, köszi
-
-
Nefri
csendes tag
Sziasztok!
A probléma a következő: Van egy fájl szerkezetem, amiben elszórva vannak txt fájlok. Minden txt fájl tartalmaz egy időpontot(hányadik nap a héten / hányadik óra) és egy olyan keresést szeretnék végrehajtani, hogy a futtatás pillanatában megvizsgálom, hogy épp a hét hányadik napja van, hányadik órában vagyunk, majd végig menni az összes txt-n és ha egyezés van az ottani időponttal, akkor végrehajtani néhány parancsot a txt-ben szereplő egyéb paraméterek alapján, majd folytatni a keresést, hogy van-e még időpont egyezés a többi txt-ben.
Ha csak egy txt van a fájlszerkezetben akkor sikerült az alábbi kóddal működtetni:
#!/bin/bash
actday=$(date +"%u")
acthour=$(date +"%k")
fileday=$(cat /root/autoscan/objects/*/*/*.txt | sed -n '3p')
filehour=$(cat /root/autoscan/objects/*/*/*.txt | sed -n '5p')
if [ $actday -eq $fileday ]
then
echo "egyezik"
fiAzonban nem tudom, több találat esetén, hogyan lehet egy találatot követően felfüggeszteni a keresést, megcsinálni a txt alapján a szükséges műveleteket, majd ha megvagyok tovább folytatni a keresést.
Minden javaslatot hálásan köszönök!
-
Jester01
veterán
find + ciklus
#!/bin/bash
actday=$(date +"%u")
acthour=$(date +"%k")
find /root/autoscan/objects -type f -name \*.txt |
while read file
do
fileday=$(sed -n 3p "$file")
filehour=$(sed -n 5p "$file")
if [ $actday -eq $fileday ]
then
echo "egyezik"
# tovabbi tennivalok itt
fi
doneJester
-
Rimuru
veterán
Hogy lehet egy szkriptben "elrejteni" egy fájlt? Tehát egy nagyobb fájl tartalmazzon mindent, a részeket utána kirakom pl.: /tmp-be és onnan dolgozik tovább vele.
Vigyázat, csalok!
-
Új hozzászólás Aktív témák
- Windows, Office licencek a legolcsóbban, egyenesen a Microsoft-tól - 2990 Ft-tól!
- Microsoft licencek a legolcsóbban - UTALÁSSAL IS AUTOMATIKUS KÉZBESÍTÉS - Windows és Office
- Windows 10/11 Home/Pro , Office OEM/Retail kulcsok
- Canva Pro előfizetés - 1 éves
- Bitdefender Total Security 3év/3eszköz! - "Tökéletes védelem most kedvező áron..."