어떻게 텍스트 내용 의 홀수 줄 과 짝수 줄 을 바 꿉 니까?

예 를 들 어 제목 은 본인 이 일찍 면접 을 봤 을 때 면접 관 에 게 물 어 본 것 입 니 다. 필기시험 문제 가 아니 라 그 때 는 제 가 멍 해 졌 고 정 작 강하 지 않 았 습 니 다.나 는 생각해 보 겠 다 고 대답 한 후에 sed 를 사용 하 겠 다 고 대답 했다. 상대방 은 또 텍스트 내용 이 1 만 줄 이면 어떻게 바 꾸 느 냐 고 물 었 다.그리고 나 서 나 는 하하, 결국 너 는 알 게 되 었 다.돌아 와 서 논단 의 고수 에 게 해답 을 물 었 다.여러분 은 참고 하여 공부 하 셔 도 됩 니 다. 업무 중 에 같은 문제 에 부 딪 힐 수 있 습 니 다.
예 를 들 어 설명:
[root@yonglinux ~]# grep -En '[0-9]|[a-z]' 1.txt
1:239fb
2:5e0eb
3:a8b5f
4:bb42c
5:9e242
6:2336b
7:5ecf1
8:4f2d5
9:8fd6b
10:ce886

첫 번 째 방법: sed
[root@yonglinux ~]# sed -r 'N;s/(.*)
(.*)/\2
\1/' 1.txt 5e0eb 239fb bb42c a8b5f 2336b 9e242 4f2d5 5ecf1 ce886 8fd6b

설명:
sed 는 행동 단위 로 텍스트 를 처리 합 니 다. 모드 버퍼 에 한 줄 의 내용 만 남아 있 습 니 다.
N 명령, 다음 줄 을 현재 줄 뒤에 읽 고 추가 합 니 다. (줄 바 꿈 문자) 로 구분 하여 패턴 버퍼 에 함께 존재 합 니 다.
두 번 째 방법: awk
[root@yonglinux ~]# awk 'NR%2{a=$0;next}{print $0"
"a}' 1.txt 5e0eb 239fb bb42c a8b5f 2336b 9e242 4f2d5 5ecf1 ce886 8fd6b

파일 을 다시 쓰 면 sed 가 편리 하고 효율 적 이면 awk 가 조금 빠 르 고 만 줄 은 약 10 밀리초 입 니 다.

좋은 웹페이지 즐겨찾기