이 파일이 있습니다.
a
b
c
d
e
f
마지막 줄이 첫 번째 줄 앞에 복사되기를 원하므로 다음 결과를 얻습니다.
f
a
b
c
d
e
f
sed
또는 에서 어떻게 할 수 awk
있습니까?
순수 sed
:
sed 'H;1h;$!d;G' file.txt
모든 행은 보류 공간에 수집 된 다음 마지막 행에 추가됩니다.
H
보류 공간에 현재 행을 추가합니다. 불행히도 이것은 개행으로 보류 공간을 시작하므로 1h
첫 번째 행의 경우 보류 공간이 개행 이전에 해당 행으로 덮어 쓰여집니다.$!d
이것은 ( !
) 마지막 줄 ( $
)이 d
아니라면, 우리가 아직 인쇄하고 싶지 않기 때문에 줄을 제거 한다는 것을 의미 합니다.G
다른 라인의 경우 d
처리 가 중지되었으므로 마지막 라인에 대해서만 실행됩니다 . 이제 보류 공간에서 수집 한 모든 행 (첫 번째부터 마지막까지)이 G
명령 을 사용하여 현재 (마지막) 행에 추가 되고 모든 것이 스크립트의 끝에 인쇄됩니다.이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다