Hallo,
ich möchte aus einer Datei bzw. String $1-$9 entfernen.
Code:
Host: $0*$4*$6* $2Cat's $9| $1FunServer $0*$4*$6* $9-=XT-V2=-
Ping: 0 ... usw.
Wenn ich jetzt sed ansetze die komplette Datei zu durchkämmen ..
sed 's/$./''/g' file1 > file2 bzw. sed 's/$.//g' file1 > file2
sieht das in file2 gut aus.
Code:
Host: *** Cat's | FunServer *** -=XT-V2=-
Ping: 0 ....
Führe ich das komplette Skript aus
Code:
# ...
sed 's/$./''/g' file1 > file2
host=`sed -n -e '/Host:/p' $file2 | sed -e 's#Host:##g'`;
ping=`sed -n -e '/Ping:/p' $file2 | sed -e 's#Ping: ##g'`;
# ...
echo Host: $host
echo Ping: $ping
erhalte ich für die Host-Variable die Dateien des Verzeichnisses aufgelistet
Code:
ed.txt fcneu-filt.txt fcneu.txt fc-player-filtered.txt fc-player.txt fctest1.sh fctest.sh huhn.txt serverfiltern.sh serverfiltern.sh~ serverfiltern.v1.sh serverfiltern.v2.sh serverfiltern.v2.sh~ servertest.sh Cat's | FunServer farcry-server-online.sh fc-ausgabe.txt fc-doku.txt fcneu2.txt fcneu-filtered.txt fcneu-filt.txt fcneu.txt fc-player-filtered.txt fc-player.txt fctest1.sh fctest.sh huhn.txt serverfiltern.sh serverfiltern.sh~ serverfiltern.v1.sh serverfiltern.v2.sh serverfiltern.v2.sh~ servertest.sh -=XT-V2=-
Ping: 0
Ändere ich das Ersatzzeichen im sed von '' auf irgendein anderes Zeichen z.B. x wird richtig ersetzt und ausgegeben.
----
Zweite Frage:
Wenn ich nun einen String auf die gleich Art filtern möchte funktioniert folgendes:
Code:
player1='$4einst$1zwei$4drei'
echo $player1 | sed 's/$./''/g';
Aber wie bekomme ich das Ergebnis in eine Variable?
Code:
# geht nicht
player1='$4einst$1zwei$4drei'
$player1_filtered=`echo $player1 | sed 's/$.//g'`;
Gruß
Lesezeichen