#TIL #bash 20190131064326_abcdefghijk.exs에서 숫자를 추출하는 방법
$ filename=20190131064326_abcdefghijk.exs
$ echo `expr match "$filename" '\([0-9]*\)'`
20190131064326
숫자_문자열.exs
형식에서 _
문자 앞에 숫자들만 추출해야 한다. expr match 명령어를 사용해 정규식 매칭을 시도했다.
mac에서 동작을 안 한다. :
문자를 사용하는 거로 바꿔야 한다.
$ echo "$filename" | cut -d'_' -f 1
20190131064326
그러고 보니 구분 문자(delimiter)가 명확하다. _
문자를 구분 문자로 사용하면 된다. 괜히 어렵게 풀었네. -d
옵션으로 구분 문자를 정의하고 -f 1
옵션으로 나눠진 필드 중 첫 번째 필드를 리턴하게 했다.