2012-12-12 3 views
-1

다음 문자열에서 숫자를 bash로 가져 오려고합니다.배시 문자열 조작

$qry2)); 275 ->275하지 2275

$qry1)) { 147 ->147하지 1147

그래서 마지막 정수를 얻기위한 코드가 무엇인가? 당신이 grep를 사용할 수있는 경우

+3

......... 뭐라고 요? –

+0

번호는 항상 마지막 번호입니까, 아니면 그 뒤에 번호가 있습니까? – Wrikken

+0

이전 cmd에서 나는 이미 마지막 텍스트를 삭제했습니다. 따라서 숫자는 항상 마지막입니다. – jjacobs

답변

1

, 당신은 시도 할 수 있습니다 :

echo '$qry2)); 275' | grep -o '[0-9]*$' 
+0

매력처럼 작동합니다. 고맙습니다 – jjacobs

0

awk으로 당신이 얻을 수있는 마지막 필드 :

awk '{ print $NF }' 
0

sed 사용 : 대한

sed 's/^.*[^0-9]\([0-9][0-9]*$\)/\1/' 

봐 행의 시작, 임의의 수의 문자 다음에 숫자가 아닌 문자 및 문자열이옵니다. 줄 끝까지의 자릿수; 이를 숫자 열로 대체하십시오.