# Was bedeudet: "Binary file (standard input) matches"?

## 3PO

Hallo Zusammen,

Ich möchte mit "wget" ein Webinterface auslesen.

```
wget -q -O - "http://localhost:5555/test"  | grep -v "^<[(HTML|/PRE)]"
```

Soweit so, so gut, - der Befel funktioniert auf allen PCs, bis auf einen.

bei diesem wo es nicht geht, kommt folgende Meldung:

Binary file (standard input) matches

Hat Jemand eine Idee, woran das liegen könnte?

----------

## schachti

Die Datei wird auf diesem PC nicht als Text, sondern als Binärdatei erkannt. Hast Du dort evtl. gewissen Voreinstellungen für wget gesetzt? Wird die Datei evtl. komprimiert heruntergeladen? Schau die mit wget geholte Datei doch auf dem Rechner mal an und lass evtl. mal file darauf los.

----------

## slick

Das kommt von grep, das hat Probleme mit Daten die nicht nach reinem Text aussehen. Ein zusätzliches -a sollte das fixen.

 *man grep wrote:*   

>        -a, --text
> 
> 	      Process  a binary file as if it were text; this is equivalent to
> 
> 	      the --binary-files=text option.

 

----------

## 3PO

Danke für die Antworten.   :Very Happy: 

"grep -a" brachte die Lösung.

```
wget -q -O - "http://localhost:5555/test"  | grep -a -v "^<[(HTML|/PRE)]"
```

Allerdings ist mir noch nicht ganz klar, weshalb ich das nur bei einem PC brauche und bei allen andern nicht??

----------

## schachti

Hast Du meinen Tipp mal angesehen?

----------

## 69719

 *3PO wrote:*   

> Danke für die Antworten.  
> 
> "grep -a" brachte die Lösung.
> 
> ```
> ...

 

Eventuell ist die test Datei nicht die gleiche wie bei den anderen Rechnern oder es kommt ein anderer Header.

----------

## 3PO

 *schachti wrote:*   

> Hast Du meinen Tipp mal angesehen?

 

Ja schon, allerdings kante ich "file" nicht. An den Einstellungen von wget habe ich auch nichts geändert. (Ich wüsste auch gar nicht wo?)

Das es komprimiert heruntergeladen wird, kann ich mir auch nicht vorstellen, denn wie gesagt, auf den anderen PCs funktioniert es ja.....

----------

## 69719

Ob er es nun komprimiert herunterläd oder nicht ist egal, da dies verlustfrei ist. Es kann aber auch am Apache liegen der die Datei falsch analysiert da eventuell ein update mittels etc-update nicht eingespielt wurde oder das entsprechende Paket welches die analyse macht in einer anderen Version installiert ist.

Ein

```

wget -S -O /dev/null "http://localhost:5555/test"

```

wäre da mal interessant.

----------

## 3PO

 *escor wrote:*   

> 
> 
> Ein
> 
> ```
> ...

 

Da kommt nur:

```
Connecting to localhost|127.0.0.1|:5555... connected.

HTTP request sent, awaiting response... No data received.

Retrying.
```

----------

## schachti

 *3PO wrote:*   

> Ja schon, allerdings kante ich "file" nicht.

 

sys-apps/file sagt Dir, um was für einen Typ von Datei es sich handelt und kann bei der Fehlerdiagnose hilfreich sein.

 *3PO wrote:*   

>  An den Einstellungen von wget habe ich auch nichts geändert. (Ich wüsste auch gar nicht wo?)

 

Zum Beispiel in .wgetrc oder /etc/wgetrc. Ein Eintrag der Form

```

header = Accept-Encoding: gzip

```

zum Beispiel würde bewirken, dass Dateien komprimiert übertragen werden (an der Stelle hatte ich aber einen Denkfehler - grep würde hier keinen Treffer finden).

----------

## 3PO

Also:

```
wget -q -O - "http://localhost:5555/test" >> /tmp/test
```

ergibt:

```
file /tmp/test

/tmp/test: HTML document text

```

Und hier noch die Settings von wget:

```
cat /etc/wgetrc | grep  -v "^[#]"

passive_ftp = on

waitretry = 10
```

----------

