2014-01-09 4 views
0

명령에서 n 번째 행 출력을 읽는 스크립트가 필요하고 다른 명령을 실행했습니다. 여기 명령에서 특정 행을 읽고 다른 명령에서 실행

난은 zpool 상태에서 출력을 필요로하는 예입니다 그리고 난 어떻게 할은 zpool 상태

# zpool status 
    pool: rpool 
state: ONLINE 
    scan: none requested 
config: 

     NAME STATE  READ WRITE CKSUM 
     rpool ONLINE  0  0  0 
      c7d0 ONLINE  0  0  0 

에서 디스크 정보를 수집하고 형식

format c7d0 

에서 실행 이를위한 쉘 스크립트를 작성하십시오. 나는 쉘 스크립트에 익숙하지 않고 다른 방법을 시도했지만 효과가 없다. 누구든지이 쉘 스크립트를 제안 해 줄 수 있습니까?

미리 감사드립니다.

+1

도움에 대한 더 많은 정보를 제공해야합니다? 그림을 더 분명하게하려는 시도를 보여줄 수 있습니까? – fedorqui

+0

n 번째 라인을 읽으려고합니다. n의 값은 얼마입니까? –

+0

글쎄, 이것은 당신의 즉각적인 예를 위해 작동 할 것이다 :'zpool status | 꼬리 -1 | awk '{print $ 1}'| xargs -n1 형식 '. 그러나 그보다 더 일반적인 것을 필요로한다면 좀 더 설명 할 필요가있을 것입니다. – twalberg

답변

0

n 번째 라인 |sed -n ${n}p

예이며 seq 20의 출력의 15 라인 :

> seq 20|sed -n 15p 
15 
> 

내가 그래서 당신은`c7d0`의 라인을 표시 할 status`은 zpool`주어진 더

+0

내 요구 사항은 zpool status 명령에서 나온 것입니다. 7 번째 파일을 선택하고 형식 명령으로 인쇄해야합니다. – user3177732

+0

여전히 질문을 완전히 이해하지 못하지만 작동하는 방법은 다음과 같습니다.'zpool status | sed -n 7p | awk '{print $ 1}'| xargs format'. 그게 당신이 필요로하는 것을합니까? –

관련 문제