- Red Magic 11 Air – vékony házból süvít a szél
- Csíptetős fülesek csatája – Sony LinkBuds Clip vs. Huawei FreeClip 2
- Mérföldkő a szilárdtest-akkuknál: fontos lépést tett a QuantumScape
- Újabb óriásakku a Honortól: az X80 lehet a következő 10 000 mAh-s modell
- iPhone 18 Pro Max: kis kapacitásbővítés hoz nagy előrelépést üzemidőben
Ú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
- NFL és amerikai futball topik - Spoiler veszély!
- Helldivers 2 (PC, PS5)
- Home server / házi szerver építése
- Világ Ninjái és Kódfejtői, egyesüljetek!
- World of Tanks - MMO
- Hitelkártyák használata, hitelkártya visszatérítés
- Kínai és egyéb olcsó órák topikja
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Így tüzelt el százbillió forintot az AI a héten
- OnePlus 15 - van plusz energia
- További aktív témák...
- Windows, Office licencek kedvező áron, egyenesen a Microsoft-tól - Automata kézbesítés utalással is!
- Game Pass Ultimate előfizetések 1 - 36 hónapig azonnali kézbesítéssel a LEGOLCSÓBBAN! AKCIÓ!
- Windows 10 11 Pro Office 19 21 Pro Plus Retail kulcs 1 PC Mac AKCIÓ! Automatikus 0-24
- Windows, Office licencek kedvező áron, egyenesen a Microsoft-tól - Automata kézbesítés utalással is!
- Játékkulcsok olcsón: Steam, Uplay, GoG, Origin, Xbox, PS stb.
- BESZÁMÍTÁS! Asus H510M i5 10400F 16GB DDR4 512GB SSD RTX 2060 Super 8GB Zalman Z3 Plus 500W
- HP EliteOne 800 G5 All-in-One i5-8500 16GB 512GB 23.8" Érintőkijelző!! 1 év garancia
- Apple iPhone 13 Pro 128GB,Átlagos,Dobozaval,12 hónap garanciával
- Apple iPhone 16 Pro-White Titanium-128GB-Akku:97% - Megkímélt Újszerű állapot!Jótállás:2028.05-ig
- Dell Latitude E6410 i5 M560, Nvidia NVS 3100M 512MB GDDR3, 4Gb RAM, 250GB HDD, jó akku, számla gar
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest



