作者justdoitmmo (伊劍)
看板Linux
標題Re: [問題] 特殊要求合併文件
時間Thu Oct 30 11:41:26 2014
※ 引述《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
我測試過是可以的達到你要的效果的
你可以試試看
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.243.105.121
※ 文章網址: http://www.ptt.cc/bbs/Linux/M.1414640491.A.407.html
推 x2006: 陣列應該可以不必用到 10/30 12:18
→ kerwinhui: 用 sed -n ${i}p {A,B}.txt >> AB.txt 不用 box... 10/30 12:58
推 silverberry: 我是 linux 生手,所以 j 大的方法我不太會用 11/01 01:43
→ silverberry: 但是感謝 j 大~ k 大的方法我試了成功了~ 感謝^^ 11/01 01:44