[macOS] 정규식으로 숫자와 .만 가져오기

apk 를 만들어주는 스크립트를 돌리고 있는데, 생성된 apk를  다른 keystore로 다시 signing 해야한다.

그 전에 파일명에 있는 앱의 버전부터 가져와야하는데, 생각보다 쉽지 않았다.

$ echo "My_Test_app_v0.1.2.3.apk" | tr -cd '[\.0-9]' # 0.1.2.3.

이것만 돌리면 숫자와 .만 가져오는데, 마지막 .를 다시 지워야 한다.

 

완성된 형태는 이렇다.

$ echo "My_Test_app_v0.1.2.3.apk" | tr -cd '[\.0-9]' | sed 's/.$//' # 0.1.2.3
$ echo "My_Test_app_v0.1.2.apk" | tr -cd '[\.0-9]' | sed 's/.$//' # 0.1.2
$ echo "My_Test_app_v10.1.2.3.apk" | tr -cd '[\.0-9]' | sed 's/.$//' # 10.1.2.3
$ echo "My_Test_app_v10.11.2.3.apk" | tr -cd '[\.0-9]' | sed 's/.$//' # 10.11.2.3
$ echo "My_Test_app_v10.11.22.3.apk" | tr -cd '[\.0-9]' | sed 's/.$//' # 10.11.22.3
$ echo "My_Test_app_v10.13.42.53_develop.apk" | tr -cd '[\.0-9]' | sed 's/.$//' # 10.13.42.53