我有一个文件,需要添加 200 行,但我想知道如何自动重新编号。该文件具有以下结构:
col1\tcol2\tdb4444\tcol4\tcol5\tcol6\tcol7\tcol8\tcol9\tcol10\n
col1\tcol2\tdb4445\tcol4\tcol5\tcol6\tcol7\tcol8\tcol9\tcol10\n
col1\tcol2\tdb4446\tcol4\tcol5\tcol6\tcol7\tcol8\tcol9\tcol10\n
...
其中 \t 是制表符,db 写在数字前面,其他列用 col 表示,最后 \n 是换行符,在这种情况下,counter 必须位于第 3 列并与 db 相关联。第一行应该从下一个数字开始。它可以是 bash 命令。
感谢您的关注!
答案1
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