![UNIX 파일에서 첫 번째 줄과 마지막 줄을 제외한 모든 줄을 삭제하는 방법은 무엇입니까? [폐쇄]](https://linux55.com/image/82968/UNIX%20%ED%8C%8C%EC%9D%BC%EC%97%90%EC%84%9C%20%EC%B2%AB%20%EB%B2%88%EC%A7%B8%20%EC%A4%84%EA%B3%BC%20%EB%A7%88%EC%A7%80%EB%A7%89%20%EC%A4%84%EC%9D%84%20%EC%A0%9C%EC%99%B8%ED%95%9C%20%EB%AA%A8%EB%93%A0%20%EC%A4%84%EC%9D%84%20%EC%82%AD%EC%A0%9C%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F%20%5B%ED%8F%90%EC%87%84%5D.png)
UNIX 파일의 헤더 및 트레일러 레코드만 유지하고 싶습니다.
답변1
sed를 사용하세요:
sed -n '1p;$p' file
패턴 공간( -n
)의 자동 인쇄를 비활성화하지만 패턴 공간의 첫 번째 줄( 1p
)과 마지막 줄( )을 인쇄합니다.$p
파일을 "제자리에서" 편집하려면 sed의 options 을 사용하십시오 -i
.
답변2
사용 head
및:tail
head -n 1 file.txt; tail -n 1 file.txt
tail
성공적으로 실행된 경우 head
:
head -n 1 file.txt && tail -n 1 file.txt
예:
% cat file.txt
foo
spam
egg
bar
% head -n 1 file.txt; tail -n 1 file.txt
foo
bar
% head -n 1 file.txt && tail -n 1 file.txt
foo
bar