Fórum Root.cz
Hlavní témata => Windows a jiné systémy => Téma založeno: gonzyone 28. 08. 2019, 18:26:17
-
Ahoj
potrebuju poradit s plinkem, kde chci filtrovat výsledky pomoci grepu a nefunguje me to a nedari se me zjistit proc.
V linuxu (Linux cz01cent01.localdomain 3.10.0-123.el7.x86_64 #1 SMP Mon Jun 30 12:09:22 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux) me funguje nasledujici prikaz bez problemu:
tail -f /var/log/messages | sed -uf mac2client | egrep AP72
V plinku z Windows 7 jakmile pridam egrep tak nefunguje..
C:\Program Files (x86)\PuTTY>plink root@192.168.5.170 -pw xxx "tail -f /var/log/messages | sed -uf /home/yyy/mac2client | egrep AP72
I když vynecham sed a necham grepovat jenom výsledky z tailu tak stejne z toho nic nevypadne.
Prosim o radu co delam blbe, diky
J.
-
nevim jestli grep a sed mas z cygwin nebo WSL(2), s tim zkusenost nemam, ale pro nahradu grep muzes pouzit nativni findstr(to pouzivam v w7/w10) nebo find(to pouzivam v WinPE10):
https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/findstr
https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/find
-
1) Nechybí vám tam ukončovací uvozovka?
2) Vypisuje plink nějakou chybu?
-
1) Nechybí vám tam ukončovací uvozovka?
2) Vypisuje plink nějakou chybu?
aha, ted mi doslo ze sed a grep pousti na serveru, pretim sem to nezkoumal a putty/plink nepouzival ;-) takze ma odpoved se timto rusi :)
-
1) Nechybí vám tam ukončovací uvozovka?
2) Vypisuje plink nějakou chybu?
Uvozovka na konci chybi, ale kdyz jsem ji tam mel tak výsledek je stejny - zadny.
Chybu plink taky nehlasi.
-
Obe pajpy musite eskejpnout pomoci caretu
-
tak malej update situace
pokud v plinku pustim prikaz nize, tak to funguje spravne (stejny výsledek jako primo linux serveru v bashi)
C:\Program Files (x86)\PuTTY>plink root@192.168.5.yyy -pw xxx "tail -100 /var/log/messages | grep STA"
ale když pustim toto v plinku, tak výsledkem je většinou nic, nebo občas semtam neco
C:\Program Files (x86)\PuTTY>plink root@192.168.5.yyy -pw xxx "tail -f /var/log/messages | grep STA"
Z toho usuzuju ze pricina je v pouziti prepinace -f u tail když bezi přes plink, ale kudy z toho ven netusim...
-
Z toho usuzuju ze pricina je v pouziti prepinace -f u tail když bezi přes plink, ale kudy z toho ven netusim...
A co se stane kdyz ten prikaz pustite primo na tom linux, vypise to neco? Prikaz -f ponechava soubor otevreny a vypisuje zmeny realtime, to prepokladam vite. Otazka je, co s tim udela buffering konzole ve Windows. Je klidne mozne ze to vypise vsechno najednou az po ukonceni prikazu (CTRL+C), ale nemam moznost to ted vyzkouset.....
-
Co mám zkušenost, tak plink nemá bufferování standardního vstupu/výstupu řešeno příliš dobře. Například nepodporuje asynchronní IO a někdy se zřejmě stane, že obdrží více dat, než se mu najednou do bufferu vejde, což může skončit chybou.
-
A co se stane kdyz ten prikaz pustite primo na tom linux, vypise to neco?
Primo v linuxu funguje podle ocekavani
-
Co mám zkušenost, tak plink nemá bufferování standardního vstupu/výstupu řešeno příliš dobře. Například nepodporuje asynchronní IO a někdy se zřejmě stane, že obdrží více dat, než se mu najednou do bufferu vejde, což může skončit chybou.
Když ty data co dava tail -f nijak nefiltruju grepem (=je to podstane vic dat) tak to v plinku funguje podle ocekavani, pokud by se plinku prehlcoval buffer cekal bych ze se projevi v tomto pripade.
Problem v plinku mam pouze s kombinaci:
tail -f jmenosouboru | grep co_hledam
-
Mozna blbost, ale nemuze mit ten grep v tom Linuxu nekam presmerovanej STDOUT