Re: [問題] 特殊要求合併文件

作者: justdoitmmo (伊劍)   2014-10-30 11:41:26
※ 引述《silverberry (平行線上的交集....)》之銘言:
: ※ [本文轉錄自 LinuxDev 看板 #1KKLTbEY ]
: 作者: silverberry (平行線上的交集....) 看板: LinuxDev
: 標題: [問題] 特殊要求合併文件
: 時間: Thu Oct 30 05:08:48 2014
: 大家好,
: 我有兩份文件,
: 希望把 B 文件插入到 A 文件的奇數行
: 像是這樣
: A.txt
: aaa
: bb
: ccccc
: dddddddddddddddddddddd
: eee
: B.txt
: >1
: >2
: >3
: >4
: >5
: NewAB.txt
: >1
: aaa
: >2
: bb
: >3
: ccccc
: >4
: dddddddddddddddddddddd
: >5
: eee
: 我原本嘗試 awk, cat, sed 都做不出來,
: 請問有沒有什麼 script 可以用?
: 謝謝大家~
簡單寫了一下
如果你是要B插入A產生新的AB.txt的話
#!/bin/bash
bnum=`cat B.txt|grep -v '^$'|wc -l`
for (( i=1 ; i<=$bnum ; i++))
do
abox[i]=`cat A.txt |grep -v '^$'|head -n $i|tail -n 1|awk '{print $1}'`
bbox[i]=`cat B.txt |grep -v '^$'|head -n $i|tail -n 1|awk '{print $1}'`
echo ${bbox[i]} >> AB.txt
echo ${abox[i]} >> AB.txt
done
我測試過是可以的達到你要的效果的
你可以試試看
作者: x2006 (?)   2014-10-30 12:18:00
陣列應該可以不必用到
作者: kerwinhui (kezza)   2014-10-30 12:58:00
用 sed -n ${i}p {A,B}.txt >> AB.txt 不用 box...
作者: silverberry (平行線上的交集....)   2014-11-01 01:43:00
我是 linux 生手,所以 j 大的方法我不太會用但是感謝 j 大~ k 大的方法我試了成功了~ 感謝^^

Links booklink

Contact Us: admin [ a t ] ucptt.com