Text-Processing

在bash中替換和增加一行

  • July 11, 2019

如何讀取、增加和替換文件中的值?

foo="val"
ver="1.2.0001"
...

現在我想將“0001”增加到 0002”。

假設更新檔級別總是四位數字的字元串:

$ ver=1.2.0001
$ printf '%s\n' "$ver" | awk -F '.' '{ printf("%s.%s.%04d\n", $1, $2, $3 + 1) }'
1.2.0002

這使用awk並將版本視為由點分隔的三個欄位。它按原樣列印前兩個欄位,但將 1 添加到第三個欄位並使用%04d(零填充、四位、十進制數)格式化結果。

這將生成1.2.10000if $verwas 1.2.9999

要將值儲存回ver,請使用ver=$( printf ... | awk ... )

引用自:https://unix.stackexchange.com/questions/529620