2011-03-10 10 views
0

셸에서 다른 명령으로 파이프 될 인수에서 값을 추출하려고합니다.파이프 라인 문자열 추출

문자열 인수는 길이가 0이거나 12의 배수가 될 수 있습니다 (4 자 코드 + 8 자리 날짜). 예 :

123420110404123520110404123620110404 
500520110404 

필요한 출력은 각 그룹 12 개에서 처음 4 자이거나 입력이 없으면 빈 문자열 ("")입니다. 예컨대 :

123412351236 
5005 

사용 예 :

[[email protected] abc]$ echo 123420110404123520110404123620110404 | [magic set of manipulation commands] 
123412351236 

참고 : 나는 잘라, 펄이 설치 &을 나오지. 나는 awk를 설치하지 않았다. 내가 상상할 수

+1

시스템의 종류가 나오지 펄하지만 awk가되지? –

+0

매우 이상합니다. –

+0

알아. 그것은 또한 몇 가지 다른 기초가 빠져 있습니다. 아아, 나는 다른 것을 설치할 수 없으며, 승인을 요청하는 것은 생산적인 것보다 고통 스럽다. – 666damo

답변

3

한 가지입니다

echo 123420110404123520110404123620110404 | sed -r 's/(.{4}).{8}/\1/g' 

또는

echo 123420110404123520110404123620110404 | sed 's/\(....\)......../\1/g' 
+0

빠른 답변 감사합니다. sed는 다시 한 번 빛나는 것을 통해, 얼마나 강력한지를 보여주기 위해갑니다. – 666damo