Discussion:
[問題] 特殊要求合併文件
(时间太久无法回复)
平行線上的交集....
2014-10-30 04:26:36 UTC
Permalink
我找到了很像是比較原始的文件,
先稱做 AB'.txt 好了

AB'.txt
1 bklrbr_ff
aaa
2 bkeln; e ee
bb
3
ccccc
4 gjele;boe
dddddddddddddddddddddd
5 =edlekle
eee

我利用
awk '/^>/{print ">" ++i; next}{print}' AB'.txt
得到
1
aaa
2
bb
3
ccccc
4
dddddddddddddddddddddd
5
eee


請問有沒有辦法稍微修改這個 script,
使結果變成
ch2000001
aaa
ch2000002
bb
ch2000003
ccccc
ch2000004
dddddddddddddddddddddd
ch2000005
eee
.
.
.
ch2007500
thankyou

(呃,沒錯,原本的檔案有 15000 行)

再次感謝^^

※ 引述《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 可以用?
: 謝謝大家~

--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 73.164.8.164
※ 文章網址: http://www.ptt.cc/bbs/Linux/M.1414643197.A.66C.html
平行線上的交集....
2014-10-30 03:00:17 UTC
Permalink
※ [本文轉錄自 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 可以用?

謝謝大家~


--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 134.84.54.178
※ 文章網址: http://www.ptt.cc/bbs/LinuxDev/M.1414616933.A.3A2.html
推 filiaslayers: 這篇貼linux比較適合  10/30 10:02
→ silverberry: 好的,感謝您^^  10/30 10:59

※ 發信站: 批踢踢實業坊(ptt.cc)
※ 轉錄者: silverberry (73.164.8.164), 10/30/2014 11:00:17
伊劍
2014-10-30 03:41:30 UTC
Permalink
※ 引述《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
Let's GO! GL&HF!
2014-10-30 15:04:05 UTC
Permalink
※ 引述《silverberry (平行線上的交集....)》之銘言:
: ※ [本文轉錄自 LinuxDev 看板 #1KKLTbEY ]
: 作者: silverberry (平行線上的交集....) 看板: LinuxDev
: 標題: [問題] 特殊要求合併文件
: 時間: Thu Oct 30 05:08:48 2014
: 大家好,
: 我有兩份文件,
: 希望把 B 文件插入到 A 文件的奇數行
==========================================================
[1;***@mlog-laptop:~/waste/ptt$ cat a.txt 
aa
bb
ccccc
dddddddddddddddddddddd
eee
1
2
3
4
5
1
aa
2
bb
3
ccccc
4
dddddddddddddddddddddd
5
eee

--
L I V E<<<<<
GL & HF to ALL <<<
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 125.227.210.74
※ 文章網址: http://www.ptt.cc/bbs/Linux/M.1414681446.A.EB9.html
Loading...