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
개행 문자를 인쇄합니다 .
- 이 행의 필드 수가 이전 행의 필드 수와 같은지 설정합니다