sed 줄간 패턴검색 치환방법

czz96의 이미지

방법은 많겠지만 아래와 같은 텍스트에서 2와 3의 줄간만 붙이는 쉬운 방법이 있을까요?
이렇게 처리는 했지만 좀 아닌듯해서요.;;

[root@ip-10-10-0-11 tmp]# cat a.txt
1
2
3
4
[root@ip-10-10-0-11 tmp]#
[root@ip-10-10-0-11 tmp]# cat a.txt | sed -r 's/(2)/\1@@/g' | sed ':a;N;$!ba;s/@@\n/ /g'
1
2 3
4

czz96의 이미지

cat a.txt | sed -r ':a;N;$!ba;s/(2)\n/\1/g'
또 다른 방법은 없을까요??

---------------------------------
Linuxer / 이재원(Jaewon Lee)
---------------------------------

bushi의 이미지

[schoi0@SEL-SCHOI0-D2 vm]$ cat a.txt
1
2
3
4
2
5
[schoi0@SEL-SCHOI0-D2 vm]$ sed -e '/^2$/N;s/2\n3$/2 3/' a.txt
1
2 3
4
2
5
czz96의 이미지

아~;;;; 새로운 방법이긴 하네요;;
하지만 이런 결과물이 궁금해서요;;

root@kali:/tmp# cat a.txt
1
2
3
4
5
6
7
2
5
3
root@kali:/tmp# cat a.txt | sed -r ':a;N;$!ba;s/(2)\n/\1 /g'
1
2 3
4
5
6
7
2 5
3

---------------------------------
Linuxer / 이재원(Jaewon Lee)
---------------------------------

bushi의 이미지

더 쉽죠.

sed -e '/^2$/N;s/\n/ /' a.txt

원래 이렇게 댓글 달려다 수정했었습니다. 2 와 3 의 줄간만 없애달라고 하셔서.

[schoi0@SEL-SCHOI0-D2 vm]$ cat a.txt 
1
2
3
4
5
6
7
2
5
3
12
4
[schoi0@SEL-SCHOI0-D2 vm]$ sed -e '/^2$/N;s/\n/ /' a.txt
1
2 3
4
5
6
7
2 5
3
12
4
czz96의 이미지

;;

---------------------------------
Linuxer / 이재원(Jaewon Lee)
---------------------------------