[완료]Linux 커맨드중 파일의 특정 행만을 출력할수 있는 명령
글쓴이: help@osori.org / 작성시간: 금, 2008/02/22 - 6:23오후
Linux 커맨드중 파일의 특정 행만을 출력할수 있는 명령을 알고 싶습니다.
이를테면 aaa.txt 파일을 cat 등으로 열어 이중 2번째부터 5번째 행까지만 출력하고 싶은경우는 어떻게 해야할까요..
head 나 tail 명령은 무조건 첫째줄이나 마지막째 줄이라는 전재조건이 있어서...
제가 원하는건 임의로 정의한 행을 출력하고 싶습니다.
2~5 라인만 출력 나머지는 무시 이런예...
Forums:
꽁수로.. 1~4번줄과
꽁수로.. 1~4번줄과 9번~마지막줄을 제외하고 출력합니다.
sed -e '1,4d;9,$d' filename
이렇게 해도
이렇게 해도 됩니다.
head -n 5 파일명 |tail -n 4
이렇게 하면 head명령어가 처음부터 5행을 출력하고
tail 명령어가 출력된 5행중에서 4행을 출력하므로
결과적으로 2~5행이 출력되겠네요.
우리 항시 웃고 살아요 ^^
sed를 사용하시면 됩니다.
sed -n '2,5p' filename
위와 같이 하시면 됩니다.
감사합니다.
이 방법이 가장 손쉽고 좋았습니다^
역시 파워유저들이시네요 ㅎㅎ;
한참을 더 공부를 해야겠습니다.
해도 해도 끝이없는..;;
저라면 sed를 쓸
저라면 sed를 쓸 것입니다만, 그냥 꽁수 차원에서 알려드립니다.
http://kldp.org/node/44606 GNU tail과 GNU head를 써서..
tail -n +1로 첫 줄을 자르고
head -n 4로 그 다음 네 줄을 표시하는 수도 있습니다.
awk
(예전엔 몰랐지만) awk로도 가능할 듯합니다.
2,5를 배열변수로 바꿔서 활용
sed -n '2,5p' filename
위의 2와 5를 a[i], b[i] 로 바꾼다면 어떻게 적용해야 될까요..?
어렵네요..ㅠㅠ 고수분들 도움이 필요합니다.
그냥 싱글쿼터 빼고 2, 5 대신 때려박으시면 됩니다..
sed -n ${a[$i]},${b[$i]}p filename
댓글 달기