- Argos: Szeretem az ecetfát
- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- Gurulunk, WAZE?!
- MasterDeeJay: H110-es lapban 10.gen Comet Lake működhet?
- Elektromos rásegítésű kerékpárok
- gban: Ingyen kellene, de tegnapra
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Lalikiraly: SÜNI energiaital.
- Viber: ingyen telefonálás a mobilodon
Új hozzászólás Aktív témák
-
CPT.Pirk
Jómunkásember
válasz
CPT.Pirk #2321 üzenetére
Ez a pipe dolog tényleg hasznos.
Most itt tartok:
for f in $files
do
if [[ $f = *"log."* ]]; then
#bizonyos fájlokat eleve nem nézünk meg
if [[ $f != *".gz"* ]] && [[ $f != *".nmbd"* ]] && [[ $f != *".smbd"* ]]; then
echo "Processing $f..."
egrep "$grepcmd1" "$grepcmd2" "$f" | awk '!/--/' | \
sed -e 's/smbd.*e)//' -e 's/read.*)//' -e 's/, .* //' -e 's/, .* //' -e 's/^.//' | \
perl -ne 'print unless $seen{$_}++' | \
egrep "$grepcmd1" "$grepcmd3" | \
awk '!/--/' > $tempfile
paste -d ' ' - - < $tempfile > $tempfile2 #minden második (elsővel kezdve) sor végéről törli az újsor karaktert, hogy az idő a névvel egy sorba ker$
cat $tempfile2 > ${f##*/}.txt
else
echo "Excludeing $f..."
fi
else
echo "Exludeing $f..."
fi
done
rm $tempfile
rm $tempfile2Jelentősen gyorsabb, de arra még nem jöttem rá, hogy a paste-es sort hogyan kellene beépíteni a pipe folyamatba.
Ennek mintájára próbáltam:
kill $(ps aux | grep 'ython csp_build.py' | awk '{print $2}')
ahol a $-os részre ment az, amit összepipeoltam, de valami nem sikerült és megállt a szkript. -
bambano
titán
válasz
CPT.Pirk #2321 üzenetére
szóval a legfőbb gond, hogy így windowson programoznak.
a unixok legnagyobb előnye, hogy minden fájl, és karakteresen mindent lehet olvasni, írni.
ezért az első, amit javítani kellene, hogy nincs tempfile1 meg tempfile2, hanem egy menetben átmegy minden a parancsokon. ennek a unixos megoldás a csővezeték, pipeline.
tehát: az első parancs olvas egy fájlt, az összes többi nem, az utolsó pedig leteszi egy fájlba az eredményt:egrep ... logfile | sed .... | awk ... | sed >kimenet
a második, hogy a sednek több programot is meg lehet adni egyszerre (a sed programnak hívja a s/... kezdetű paraméterét)
tehát nem sed program1 | sed program2 hanem
sed program1 program2 program3a harmadik, hogy az awk és a sed is tudja, amit az egrep. érdemes lenne minél kevesebb programot használni, mert annál bonyolultabb minden.
-
f_sanyee
senior tag
válasz
CPT.Pirk #2321 üzenetére
Szia,
ezt egy awk vagy sed scripttel meg tudnad oldani. Ezt a konyvet ajanlom: sed & awk, 2nd Edition
Új hozzászólás Aktív témák
Hirdetés
- Bitdefender Total Security 3év/3eszköz! - Tökéletes védelem, Most kedvező áron!
- Kaspersky, McAfee, Norton, Avast és egyéb vírusírtó licencek a legolcsóbban, egyenesen a gyártóktól!
- Sea of Thieves Premium Edition és Egyéb Játékkulcsok.
- Adobe Előfizetések - Adobe Creative Cloud All Apps - 12 Hónap - NYÁRI AKCIÓ!
- Vírusirtó, Antivirus, VPN kulcsok
- AKCIÓ! Apple Macbook Pro 16" 2019 i7 9750H 32GB 500GB Radeon Pro 5300M hibátlan működéssel
- BESZÁMÍTÁS! MSI B450 R7 7 5700X 32GB DDR4 512GB SSD RTX 2080 8GB Fractal Design Define R5 FSP 750W
- 100 - Lenovo Yoga Pro 9 (16IRP8) - Intel Core i9-13905H, RTX 4070 (ELKELT)
- AKCIÓ! ASROCK H310CM i5 9600K 32GB DDR4 500GB SSD RTX 3050 8GB DeepCool Tesseract SW 500W
- BESZÁMÍTÁS! ASUS H87I-PLUS H87 chipset alaplap garanciával hibátlan működéssel
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: Promenade Publishing House Kft.
Város: Budapest