Ve Windows nefunguje plink za grep

Ve Windows nefunguje plink za grep
« kdy: 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.
« Poslední změna: 28. 08. 2019, 20:34:22 od Petr Krčmář »


k3dAR

  • *****
  • 2 838
  • porad nemam telo, ale uz mam hlavu... nobody
    • Zobrazit profil
    • E-mail
Re:Ve Windows nefunguje plink za grep
« Odpověď #1 kdy: 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

Re:Ve Windows nefunguje plink za grep
« Odpověď #2 kdy: 28. 08. 2019, 21:57:10 »
1) Nechybí vám tam ukončovací uvozovka?
2) Vypisuje plink nějakou chybu?

k3dAR

  • *****
  • 2 838
  • porad nemam telo, ale uz mam hlavu... nobody
    • Zobrazit profil
    • E-mail
Re:Ve Windows nefunguje plink za grep
« Odpověď #3 kdy: 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 :)

Re:Ve Windows nefunguje plink za grep
« Odpověď #4 kdy: 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.


Re:Ve Windows nefunguje plink za grep
« Odpověď #5 kdy: 29. 08. 2019, 10:54:35 »
Obe pajpy musite eskejpnout pomoci caretu

Re:Ve Windows nefunguje plink za grep
« Odpověď #6 kdy: 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...




Re:Ve Windows nefunguje plink za grep
« Odpověď #7 kdy: 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.....

Re:Ve Windows nefunguje plink za grep
« Odpověď #8 kdy: 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.

Re:Ve Windows nefunguje plink za grep
« Odpověď #9 kdy: 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

Re:Ve Windows nefunguje plink za grep
« Odpověď #10 kdy: 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






Re:Ve Windows nefunguje plink za grep
« Odpověď #11 kdy: 30. 08. 2019, 18:45:03 »
Mozna blbost, ale nemuze mit ten grep v tom Linuxu nekam presmerovanej STDOUT