ich versuche, mit dem folgende Formular werdenetwas in einem bestimmten Bereich einer splited Datei bash ersetzen shell
F1|F2|F3|F4|F5|F6|F7|F8
Benutzer mir den Befehl geben, ein Feld einer Datei zuzugreifen:
. /tool.sh -f Datei --edit id Spalte Wert
tool.sh der Name des Codefile ist, id ist das erste Feld Spalte ist die Spalte, in der der Wert ersetzt werden muss Wert ist die Zeichenfolge, die ich ersetzen muss (F1) und ich muss die Datei suchen, wo id Übereinstimmungen und wenn ich die richtige Zeile finden müssen Sie zur rechten Spalte gehen (die vom Benutzer angegeben wird) und die F (Spalte) durch den Wert ersetzen. hier ist eine meiner Gedanken:
awk -v id="$4" -v column = "$5" -v value = "$6" -F"|"
'BEGIN{OFS="|"} ($1 == id){$(column)=value;}' $2
, wo ich die Werte in awk gesetzt wird und sie darin benutzen, aber ich bekomme
awk: cmd. line:1: fatal: cannot open file `=' for reading (No such file or directory)
: Ich bin in Bash-Shell und Sie vielleicht große Fehler sehen
./tool.sh -f Personen .txt --edit 933 2 stringtobelplaced – charles