2011-11-12 3 views
0

나는이 형식텍스트 처리에 사용 bash는

procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------ 
r b swpd free buff cache si so bi bo in cs us sy id wa st 
12 0 5924396 20810624 548548 935160 0 0  0  5 0 0 60 5 34 0 0 
12 0 5924396 20768588 548548 935160 0 0  0  0 1045 1296 99 0 0 0 0 
12 0 5924396 20768968 548548 935452 0 0  0 32 1025 1288 100 0 0 0 0 
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------ 
r b swpd free buff cache si so bi bo in cs us sy id wa st 
4 0 5924396 20768724 548552 935408 0 0  0 92 1093 1377 33 0 67 0 0 

I 숫자 값을 즉 제거와 라인을 포함하는 단지 라인을 추출 bash는 스크립트를 쓰고 있어요의 헤더와 값을 가지고있는 vmstat를 덤프 파일이 알파벳이 들어있는 모든 줄. 내가

+1

'grep'[0-9] 'filename'이 작동해야합니다. 그런 다음 출력을 원하는 파일에 저장하십시오. ('awk는 꽤 쉽게 같은 일을 할 수 있습니다.) 나는 파일이 당신이 보여줄 것이라고 가정합니다 - 숫자가 아닌 라인은 숫자가 없습니다. 그렇지 않은 경우 검색을 조정할 수 있습니다. – Telemachus

답변

0

cat filename | grep "[0-9]"

+4

'cat'을 사용하지 않고'grep filename' –

1

당신은 공간 \ 숫자와 탭이있는 라인이 필요하면 그렇게합니까, grep -P "^[0-9\ \t]*$"는해야 당신을 도와줍니다.

$> cat ./text | grep -P "^[0-9\ \t]*$" 
12 0 5924396 20810624 548548 935160 0 0  0  5 0 0 60 5 34 0 0 
12 0 5924396 20768588 548548 935160 0 0  0  0 1045 1296 99 0 0 0 0 
12 0 5924396 20768968 548548 935452 0 0  0 32 1025 1288 100 0 0 0 0 
4 0 5924396 20768724 548552 935408 0 0  0 92 1093 1377 33 0 67 0 0