이월 주문? [복사]

이월 주문? [복사]

기본적으로 명령이나 텍스트 블록을 다음으로 파이프합니다. ( tail -n 3예:)인쇄오직마지막 세 줄도착하다 stdout. 이것의 반대를 수행하는 동등하거나 유사한 방법이 있습니까? 따라서 이 예에서는인쇄모두 하지만마지막 세 줄도착하다 stdout.

답변1

@don_crissti의 의견을 바탕으로 이 내용이 도움이 되었다면 그의 의견에 엄지손가락을 눌러주세요.

a다음 내용이 포함된 파일이 있는 경우 :

1
2
3
4
5
6
7
8
9
10

나 다 가지고 싶어그런데 마지막 세줄은head -n -3이를 실행하여 다음을 생성 할 수 있습니다.

# head -n -3 a
1
2
3
4
5
6
7

답변2

한 가지 접근 방식은 다음과 같습니다(아주 우아하지는 않지만 테스트를 거쳐 작동함).

a=$(wc -l <file.txt);a=$((a-3));sed ''$a'q;' file.txt

wc -l은 파일의 줄 수를 반환합니다. 이제 행 번호가 a에 할당됩니다.

마지막 3줄을 제외한 모든 줄을 원하므로 a를 줄인 다음 sed를 사용하여 파일의 ath 줄까지 인쇄합니다.

관련 정보