이 입력을 여는 방법을 잘 모르겠습니다.
A
B
C
apartner
bpartner
cpartner
다음 출력을 입력하십시오.
A apartner
B bpartner
c cpartner
이 패턴은 80줄 파일에 있고 40줄이 필요합니다. 또한 각 항목을 에 어떻게 첨부할 수 있나요 <il><b>A</b> <i>apartner</i></il>
?
답변1
사용처 :pr
coreutils
pr -2 -t -l 40 -s' ' $oldfile > $newfile
동일하게 사용 pr
하고 태그를 추가하세요 sed
.
pr -2 -t -l 40 -J -S'</b> <i>' $oldfile | sed 's|^|<il><b>|;s|$|</i></il>|' > $newfile
산출:
<il><b>A</b> <i>apartner</i></il>
<il><b>B</b> <i>bpartner</i></il>
<il><b>C</b> <i>cpartner</i></il>
답변2
[암소 비슷한 일종의 영양]
사용법이 중요하지 않은 경우 sed
가장 awk
간단한 솔루션으로 다음을 권장합니다.
먼저 파일을 두 부분으로 나눕니다.
head -n 40 file >file1
tail -n 40 file >file2
그런 다음 다음 줄을 결합하십시오.
paste --delimiters=" " file1 file2
물론 head
and 대신 or를 사용할 수 있습니다.tail
sed
awk
sed -n -e 1,40p combinedfile >file1
sed -n -e 41,80p combinedfile >file2
awk 'NR < 41 {print;}' combinedfile >file1
awk 'NR > 40 {print;}' combinedfile >file2
좋아요, 방금 깨달았습니다. 순수한 awk 솔루션은 생각만큼 복잡하지 않습니다.
awk 'NR < 41 { lines[NR]=$0; next; }; {print lines[NR-40],$0}' combinedfile