Wie füge ich einen Zähler hinzu, der bei einer anderen Zahl als 1 beginnt?

Wie füge ich einen Zähler hinzu, der bei einer anderen Zahl als 1 beginnt?

Ich habe eine Datei, in der ich 200 weitere Zeilen hinzufügen muss, aber ich möchte wissen, wie ich sie automatisch neu nummerieren kann. Die Datei hat die folgende Struktur:

Spalte1\tSpalte2\tdb4444\tSpalte4\tSpalte5\tSpalte6\tSpalte7\tSpalte8\tSpalte9\tSpalte10\n

Spalte1\tSpalte2\tdb4445\tSpalte4\tSpalte5\tSpalte6\tSpalte7\tSpalte8\tSpalte9\tSpalte10\n

Spalte1\tSpalte2\tdb4446\tSpalte4\tSpalte5\tSpalte6\tSpalte7\tSpalte8\tSpalte9\tSpalte10\n

...

Dabei ist \t der Tabulator, db wird vor die Zahl geschrieben, die anderen Spalten werden durch col dargestellt und \n ist der Zeilenumbruch. In diesem Fall muss counter in der 3. Spalte stehen und mit db verknüpft sein. Die erste Zeile sollte mit der nächsten Zahl beginnen. Es kann ein Bash-Befehl sein.

Danke für Ihre Aufmerksamkeit!

Antwort1

lastline=$( tail -n 1 "$filename" )           # get last line of file
IFS=$'\t' read -r a b db_id c <<<"$lastline"  # extract the 3rd field
db_id=${db_id#db}                             # remove the "db" prefix
next_id=$(( db_id + 1 ))                      # add 1 to get the next id

verwandte Informationen