Text-Processing
在bash中替換和增加一行
如何讀取、增加和替換文件中的值?
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.10000
if$ver
was1.2.9999
。要將值儲存回
ver
,請使用ver=$( printf ... | awk ... )
。