Kezdőlap › Fórumok › Vegyes felvágott › SED használata
- This topic has 30 hozzászólás, 9 résztvevő, and was last updated 17 years, 11 months telt el by
dotmind.
-
SzerzőBejegyzés
-
2006-01-25-10:27 #2047118
ha a sed utasítást másmilyen idézõjelbe („) teszed akkor jó lesz
Code:cat xy | sed „s/^.*$/’&x’/”2007-12-27-15:05 #2047119Sziasztok!
Próbálok kontárkodni a sed-el, de persze nem igazán jön össze.
Még soha nem használtam, olvasgattam a manját, meg a reguláris kifejezéseknek is utána néztem nagyjából, de mégsem vágom a használatukat.
Annyit szeretnék, hogy a „ps|grep lftp” parancsból kihámozni az lftp pid-jét, majd azt átadni a „kill -19” vagy a „kill -18” parancsnak.
Az egyik gond az, hogy általában a grep parancs folyamata is megjelenik, ezt ugye ki kell szűrni.
Utána gondolom meg kell mondani a sed-nek, hogy a sor elején lévő számokat olvassa be egészen az első szóközig s az utána lévő részt dobja el.Nem vágom pl. hogyan mondom meg neki, hogy az első szóközig vegye figyelembe?
Egy ilyesmit próbáltam(nem röhögni
): ps|grep lftp|sed ‘/^[0-9]*/p’
Ekkor kétszer is kiírja a találatokat.
Aztán néztem egy ilyet: ps|grep lftp|sed ‘s/^[0-9]* //’
Ez kivágja a pid-et az összes többit meg kidobja a kimenetre, nekem megy ugye pont a fordítottjára van szükségem.Nem feltétlenül a megoldást nyújtó parancs kellene, hanem csak rávezetés(amennyiben lenne hozzá türelmetek), hátha jobban megérteném a sed lelki világát és a későbbiekben könnyebben tudnám használni.
2007-12-27-15:45 #2047120esetleg pkill -18 lftp nem felel meg neked ?
-TamsA-
2007-12-27-15:47 #2047121„killall lftp” nem jó?
2007-12-27-15:54 #2047122Névtelen
Code:ps -C lftp -o pid= | sed -e ‘s| ||g’ >> pid.txtEzzel megkapod a pid.txt fájlba az azonosítóját. (Nem értem amúgy minek bonyolítani.)
2007-12-27-15:56 #2047123vagy ha nagyon matyizni akarsz akkor:
ps -ef |grep lftp|grep -v grep|awk ‘{print $1}’-TamsA-
2007-12-27-15:57 #2047124Névtelen
2007-12-27-16:16 #2047125kill -9 `pgrep lftp`
2007-12-27-16:26 #2047126Ó, te jóságos Isten!
Ágyúkkal verébre. :)))2007-12-27-16:32 #2047127Mivel magyarázatot is kértél:
ps|grep lftp|sed 's/^[0-9]* //'
pont azt csinálta amit mondtál neki:
mit is?
ps=listázd ki a futó (azonos shellből indított) parancsokat
|grep lftp = listából vedd azokat amik tartalmazzák az lftp karakterlácot
|sed 's/^[0-9]* //' = a visszakapott sorokkal tedd a kovetkezőt: elejéről a számokkal kezdődő csak számokat tartalmazó szavakat dobd el.lássunk egy sed-es megoldást is megfogalmazva ha a ps kimente
PID, TTY, TIME, CMD
PID szám utána szóköz(ök) betű(k) ….
amit ki kéne vágni az a szám utáni szóköz+hablaty reguláris kifejezése:
" [a-Z].*"teljes paranccsal:
ps|grep lftp|grep -v grep|sed 's/ [a-Z].*//'-TamsA-
-
SzerzőBejegyzés
- Be kell jelentkezni a hozzászóláshoz.

): ps|grep lftp|sed ‘/^[0-9]*/p’
legutóbbi hsz