![동일한 수의 지정된 문자가 포함된 경우 한 줄을 다음 줄과 연결합니다.](https://linux55.com/image/182127/%EB%8F%99%EC%9D%BC%ED%95%9C%20%EC%88%98%EC%9D%98%20%EC%A7%80%EC%A0%95%EB%90%9C%20%EB%AC%B8%EC%9E%90%EA%B0%80%20%ED%8F%AC%ED%95%A8%EB%90%9C%20%EA%B2%BD%EC%9A%B0%20%ED%95%9C%20%EC%A4%84%EC%9D%84%20%EB%8B%A4%EC%9D%8C%20%EC%A4%84%EA%B3%BC%20%EC%97%B0%EA%B2%B0%ED%95%A9%EB%8B%88%EB%8B%A4..png)
concat
지정된 수의 지정된 문자가 포함된 줄이 필요합니다 . 잘 모르겠습니다. python
or 에서는 쉽지만 루프나 를 사용하지 않고 /// 를 사용 하여 이 작업을 수행하고 ruby
싶습니다 . 한 줄에 몇 개의 문자가 포함되어 있는지 , 다음 줄에 같은 수의 문자가 포함되어 있는지 계산해야 합니다.perl
sed
awk
bash
uniq -c
plus
concat
a+a
a+a
a+a+a
a+a+a
a+a+a+a
a+a+a+a
출력은 다음과 같아야 합니다.
a+a + a+a
a+a+a + a+a+a
a+a+a+a + a+a+a+a
답변1
awk -F "+" 'NR%2{nf=NF;l=$0;next}{sep=(nf==NF?" + ":RS);printf "%s%s%s\n",l,sep,$0}' file
라인별 분석을 위해 확장해 보겠습니다.
awk -F "+" '
NR%2{nf=NF;l=$0;next}
{
sep=(nf==NF?" + ":RS)
printf "%s%s%s\n",l,sep,$0
}
' file
- 필드 구분 기호를 로 설정합니다
+
. - 행 번호가 홀수(
NR%2
)이면 필드 개수를 입력nf
하고 전체 레코드를 입력합니다l
. - 기타,
- 이 행의 필드 수가 이전 행의 필드 수와 같은지 설정합니다
sep=" + "
. 그렇지 않으면 설정합니다sep=RS
(RS
레코드 구분 기호는 개행입니다). l
,sep
및$0
개행 문자를 인쇄합니다 .
- 이 행의 필드 수가 이전 행의 필드 수와 같은지 설정합니다