Fórum Root.cz

Hlavní témata => Windows a jiné systémy => Téma založeno: gonzyone 28. 08. 2019, 18:26:17

Název: Ve Windows nefunguje plink za grep
Přispěvatel: 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:

Kód: [Vybrat]
tail -f /var/log/messages | sed -uf mac2client | egrep AP72
V plinku z Windows 7 jakmile pridam egrep tak nefunguje..

Kód: [Vybrat]
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.
Název: Re:Ve Windows nefunguje plink za grep
Přispěvatel: k3dAR 28. 08. 2019, 21:02:54
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
Název: Re:Ve Windows nefunguje plink za grep
Přispěvatel: Martin Dráb 28. 08. 2019, 21:57:10
1) Nechybí vám tam ukončovací uvozovka?
2) Vypisuje plink nějakou chybu?
Název: Re:Ve Windows nefunguje plink za grep
Přispěvatel: k3dAR 28. 08. 2019, 22:31:57
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 :)
Název: Re:Ve Windows nefunguje plink za grep
Přispěvatel: gonzyone 29. 08. 2019, 10:11:51
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.
Název: Re:Ve Windows nefunguje plink za grep
Přispěvatel: neregistrovany 29. 08. 2019, 10:54:35
Obe pajpy musite eskejpnout pomoci caretu
Název: Re:Ve Windows nefunguje plink za grep
Přispěvatel: gonzyone 29. 08. 2019, 18:13:08
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...



Název: Re:Ve Windows nefunguje plink za grep
Přispěvatel: neregistrovany 29. 08. 2019, 19:09:57
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.....
Název: Re:Ve Windows nefunguje plink za grep
Přispěvatel: Martin Dráb 29. 08. 2019, 20:21:41
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.
Název: Re:Ve Windows nefunguje plink za grep
Přispěvatel: gonzyone 30. 08. 2019, 12:45:20
Citace
A co se stane kdyz ten prikaz pustite primo na tom linux, vypise to neco?
Primo v linuxu funguje podle ocekavani
Název: Re:Ve Windows nefunguje plink za grep
Přispěvatel: gonzyone 30. 08. 2019, 12:56:23
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





Název: Re:Ve Windows nefunguje plink za grep
Přispěvatel: neregistrovany 30. 08. 2019, 18:45:03
Mozna blbost, ale nemuze mit ten grep v tom Linuxu nekam presmerovanej STDOUT