Editing a text file with sed

因為想將每次deployment 的過程都減少人手的改動,所以有下面的script 加version.ts 中的version 每次自動更新。

// version.ts

export const Constants = {
  SYSTEM_NAME: "Great system",
  SYSTEM_VERSION: "v1.0.0",
  SYSTEM_ID: 100,
}
#!/bin/bash

NEW_VERSION=$1
CONSTANT_FILE=version.ts

if [ ! -f $CONSTANT_FILE ]; then
    echo $CONSTANT_FILE not found
    echo exit now
    exit 0
fi

OLD_VERSION=$(cat $CONSTANT_FILE | grep "SYSTEM_VERSION" | cut -d ":" -f 2 | cut -d "\"" -f 2 )

echo updating versions from $OLD_VERSION to $NEW_VERSION
sed -i 's/SYSTEM_VERSION: "[^"]*"/SYSTEM_VERSION: "'$NEW_VERSION'"/g' $CONSTANT_FILE

echo done
Posted in notesTagged ,