[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: non ascii suchen



"Roland M. Kruggel" <rk-liste@gmx.de> writes:

> [...]
>
>> Ich fürchte, du musst die Aufgabenstellung genauer klären.
>>
>> Wenn man den einfachsten Fall annimmt, möchtest du alle
>> nicht-druckbaren ASCII-Zeichen. Dann würde so was reichen:
>>
>>  sed 's/[^ -~]/#/g'
>
> Das war nix. Der wandelt so ziemlich alles um :)

So war die Aufgabenstellung.  Wie schon der alte Goethe sagte: Ist der
Input putt, ist der Output auch putt.

>
> Beim durchsehen der Daten habe ich, zufällig, nichtdruckbare zeichen 
> gefunden. ^H\^I ... Die habe da nix drin zu suchen. Die muss ich 
> finden.

Also bleiben wir mal bei den zweien: ^H und ^I.  Das wäre dann in
einer Variablen:

  regex=\[$'\x08'$'\c09'\]

oder, wenn du es unübersichtlich möchtest:

  regex="	"

Was dein Newsreader hier anzeigt, weiß ich nicht; im Emacs habe ich
C-q C-h C-Q C-i getippt, was die beiden Zeichen erzeugt.  ^I ist
übrigens ein TAB und ^H ein Backspace.  Natürlich brauchst du die
Variable nicht und kannst im Folgenden den rechten Teil des Ausdrucks
stattdessen tippen.

Wenn die sie finden und anzeigen möchteset, wäre (alles ungetestet):
 
  grep "$regex" filename

(die Anführungszeichen sind nicht unbedingt erforderlich)

Wenn du sie löschen willst, wäre

 sed "s/$regex//g"

passender.

> Was ich brauche ist nur die Zeilennummer der entschrechenden datei. 

Ich sollte vorher alles lesen.  Das wäre dann:

  grep -nq "$regex" filename

Gruß,

 Heike



Reply to: