The UNIX and Linux Forums  
Hallo und herzlich Willkommen aus den Vereinigten Staaten, die UNIX-und Linux-Foren! Vielen Dank für Ihren Besuch und die Teilnahme an unserem Global Community.

Go Back   Die UNIX-und Linux-Foren > Top Foren > Shell Programmierung und Scripting
.
Google unix.com



Shell Programmierung und Scripting Post Fragen zu ksh, csh, sh, bash, Perl, PHP, sed, awk und anderen Shell-Skripte und Shell-Scripting-Sprachen hier.

Mehr UNIX-und Linux-Forum Themen Vielleicht finden Sie hilfreiche
Faden Thread Starter Forum Antworten Last Post
Dont't finden Sie rechts regex Trek Shell Programmierung und Scripting 3 05-27-2008 12:20 PM
regex-Test in bash subin_bala Shell Programmierung und Scripting 1 04-16-2008 03:27 AM
Einfache BASH Skript? JayC89 Shell Programmierung und Scripting 16 10-02-2007 07:23 PM
find-regex: passender mehrere Erweiterungen r0sc0 Shell Programmierung und Scripting 2 12-08-2005 02:32 PM
Kommando zurück finden bash: / usr / bin / find: Argument list too long yacsil Shell Programmierung und Scripting 1 12-15-2003 06:38 PM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Suche diesen Thread Rate Thread Anzeige-Modi
  #1 (permalink)  
Old 03-17-2008
srikanths srikanths is offline
Registrierte Nutzer
  
 

Join Date: März 2008
Beiträge: 4
Ein einfaches suchen und ersetzen, ohne regex (bash)

Hi,

Ich brauche, um eine genaue Suchen und Ersetzen (Ich möchte nicht, dass die Verwendung von regulären Ausdrücken, da die Eingabe von Benutzer). Ich möchte eine Zeile, die mit der Eingabe des Anwenders Text und ersetzen Sie sie mit einem leeren String.

Zum Beispiel, sagen wir der Benutzer Ich liebe "Unix" und die Inhalte der Datei, in der ich zu tun suchen und zu ersetzen ist:

Code:
I like "Unix" more than DOS
I love "Unix"
I said I love "Unix"
I love "Unix" a lot
Nun will ich die Stelle der Linie Ich liebe "Unix" mit leeren String. Und ich will um die restlichen Zeilen wie Ich sagte, ich liebe "Unix" und Ich liebe "Unix" eine Menge wie es ist. Die doppelten Anführungszeichen sind beabsichtigt.

Welche Unix-Dienstprogramm kann das tun? Ein Beispiel wäre toll! Ich suchte und fand, dass sed ist etwas enger, was ich suche, aber es wird ein regulärer Ausdruck. Da die Eingabe-String wird aus dem Benutzer, es ist hart für mich, um einen regulären Ausdruck dafür. Jede andere Art und Weise?

Danke!
  #2 (permalink)  
Old 03-18-2008
Ära
Gast
  
 

Beiträge: n / a
Bits: 0 [Banking]
man grep

Code:
read input
fgrep -vx "$input" file
Es wird die Zeile komplett, und nicht einmal aus dem newline. Wenn Sie einen Zeilenumbruch zu erhalten, ist es ein bisschen schwieriger.

Es ist nicht zu hart, um eine ordnungsgemäße regulären Ausdruck, per se, sondern sie eher zu ein wenig hässlich.

Code:
read input
echo "$input" | sed -e 's/[][\\.*^$]/\\&/g; s/.*/s%^&\$%%/' | sed -f - file
Dies ist nicht getestet und dient nur als Proof-of-Concept. Ich habe wahrscheinlich vergessen ein oder zwei Sonderzeichen, die es zu backslash-escaped sein. (Hinweis: Entfernen Sie den letzten Teil der Pipeline, um zu sehen, das Skript.)
  #3 (permalink)  
Old 03-18-2008
Ära
Gast
  
 

Beiträge: n / a
Bits: 0 [Banking]
Oh, und wenn Sie wirklich über die strenge bash, versuchen Sie dies:

Code:
read input
while read line; do
  case $line in
    $input) echo ;;  # or not, if you want the newline gone, too
    *) echo "$line";;
  esac
done <file
Closed Thread

Lesezeichen

Tags
regex, reguläre Ausdrücke

Thread Tools Suche diesen Thread
Suche diesen Thread:

Erweiterte Suche
Anzeige-Modi Rate this thread
Rate this thread:

Forumregeln
Du möglicherweise nicht neue Themen
Du möglicherweise nicht nach Antworten
Du möglicherweise nicht post-Anlagen
Du möglicherweise nicht bearbeiten Sie Ihre Beiträge

BB-Code ist Auf
Smilies sind Auf
[IMG] Code Auf
HTML-Code ist Aus
Trackbacks sind Auf
Pingbacks sind Auf
Refbacks sind Auf




Alle Zeiten sind GMT -4. Es ist jetzt 04:34 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Ltd. Sprachliche Übersetzungen Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
Die UNIX-und Linux-Foren Content © Copyright 1993-2009. Alle Rechte Reserved.Ad Management von RedTyger

Content Relevant URLs durch vBSEO 3.2.0