この入力を開く方法がわかりません。
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
簡単な解決策として以下をお勧めします。
まず、ファイルを2つの部分に分割します。
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