Ich habe eine Datei mit Tausenden von Zeilen und Spalten, zwei der Spalten sind IP1 und IP2. IP1 ist immer die gleiche 192.168.100.1So ersetzen Sie den Wert aus einer Spalte mit dem Wert aus einer anderen Spalte in der gleichen Datei
* example.com, 192.168.100.1,10.10.1.1, 5effd70e9d99b1acf, 10,63,58,42,0,21,84055280,0 example2.com, 192.168. 100,1,10.10.1.50,, 255b2l429c8f23ee, 10,63,37,42,1,21,1451066297,0 Beispiel3.com, 192.168.100.1.10.10.1.58,, 589b7a5f8677b, 11,68,37,42,1, 20,1451066297,0
............. *
ich mag den Wert von IP1 mit dem Wert von IP2 ersetzen und den Wert von IP2 löschen.
Ich versuchte dies:
sed -i 's/192\.168\.100\.1/$(grep 192\.168\.100\.1 file | awk -F',' '{print $2}')/' file
Folgender Fehler ist aufgetreten: sed: -e Ausdruck # 1, char 68: ungekündigten `s'Befehl
Bitte helfen.
Schauen Sie sich bitte [editing-help] (http://stackoverflow.com/editing-help) an. – Cyrus
Sie sollten das Buch Shell Scripting Recipes von Chris Johnson lesen, um die Grundlagen von sed, grep, awk und allgemeinem Shell Scripting und dann Effective Awk Programming, 4. Edition, von Arnold Robbins zu lernen, wenn Sie eine andere Textmanipulation durchführen wollen UNIX in Zukunft. –