【shell 】求兩個檔案相加的指令碼
root@client.example.com # cat a.txt
100k f1.myd
200k f2.myd
300k f3.myd
200k f4.myd
100k f5.myd
root@client.example.com # cat b.txt
100k f1.myd
200k f2.myd
300k f3.myd
200k f4.myd
100k f5.myd
==希望得到兩個檔案相加的結果:
200k f1.myd
400k f2.myd
600k f3.myd
400k f4.myd
200k f5.myd
===方法一
root@client.example.com # paste a.txt b.txt
100k f1.myd 100k f1.myd
200k f2.myd 200k f2.myd
300k f3.myd 300k f3.myd
200k f4.myd 200k f4.myd
100k f5.myd 100k f5.myd
root@client.example.com # paste a.txt b.txt | awk '{print $1+$3"k "$2}'
200k f1.myd
400k f2.myd
600k f3.myd
400k f4.myd
200k f5.myd
root@client.example.com #
root@client.example.com # time paste a.txt b.txt | awk '{print $1+$3"k "$2}'
200k f1.myd
400k f2.myd
600k f3.myd
400k f4.myd
200k f5.myd
real 0m0.002s
user 0m0.001s
sys 0m0.002s
===方法二 。。不如方法一 友好
root@client.example.com # time cat a.txt >> b.txt ; awk '{a[$2]+=$1}END{for(i in a)print i,a[i]}' b.txt
real 0m0.001s
user 0m0.000s
sys 0m0.002s
f5.myd 200
f4.myd 400
f3.myd 600
f2.myd 400
f1.myd 200
root@client.example.com #
100k f1.myd
200k f2.myd
300k f3.myd
200k f4.myd
100k f5.myd
root@client.example.com # cat b.txt
100k f1.myd
200k f2.myd
300k f3.myd
200k f4.myd
100k f5.myd
==希望得到兩個檔案相加的結果:
200k f1.myd
400k f2.myd
600k f3.myd
400k f4.myd
200k f5.myd
===方法一
root@client.example.com # paste a.txt b.txt
100k f1.myd 100k f1.myd
200k f2.myd 200k f2.myd
300k f3.myd 300k f3.myd
200k f4.myd 200k f4.myd
100k f5.myd 100k f5.myd
root@client.example.com # paste a.txt b.txt | awk '{print $1+$3"k "$2}'
200k f1.myd
400k f2.myd
600k f3.myd
400k f4.myd
200k f5.myd
root@client.example.com #
root@client.example.com # time paste a.txt b.txt | awk '{print $1+$3"k "$2}'
200k f1.myd
400k f2.myd
600k f3.myd
400k f4.myd
200k f5.myd
real 0m0.002s
user 0m0.001s
sys 0m0.002s
===方法二 。。不如方法一 友好
root@client.example.com # time cat a.txt >> b.txt ; awk '{a[$2]+=$1}END{for(i in a)print i,a[i]}' b.txt
real 0m0.001s
user 0m0.000s
sys 0m0.002s
f5.myd 200
f4.myd 400
f3.myd 600
f2.myd 400
f1.myd 200
root@client.example.com #
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22664653/viewspace-689305/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- shell指令碼——比較兩個檔案大小、許可權指令碼
- 共享一個iptables的shell指令碼檔案指令碼
- Shell 命令求兩個檔案每行對比的相同內容
- 分享兩個實用的shell指令碼指令碼
- Shell指令碼應用兩個例子指令碼
- Shell指令碼 | 抓取log檔案指令碼
- 用shell指令碼合併多個檔案內容指令碼
- 使用shell指令碼巧妙統計檔案指令碼
- 如何用Shell指令碼生成XML檔案指令碼XML
- [ Shell ] 通過 Shell 指令碼匯出 GDSII/OASIS 檔案指令碼
- [Shell] Input null到檔案中的兩個方法Null
- 【shell 指令碼】檢視*.gz 檔案的內容指令碼
- shell指令碼0——”一切皆檔案“, 認識Shell指令碼
- 【shell 指令碼】求最大公約數指令碼
- Shell指令碼逐行處理文字檔案技巧指令碼
- shell 備份檔案指令碼+自動清理指令碼
- 建立定期清理listener,trace檔案的shell指令碼指令碼
- 【shell 指令碼】兩種登入方式指令碼
- 如何在Shell指令碼中逐行讀取檔案指令碼
- 使用shell指令碼build並建立ipa檔案(轉)指令碼UI
- Linux/Unix shell 指令碼清除歸檔日誌檔案Linux指令碼
- shell指令碼自動清理超過指定大小的檔案指令碼
- shell入門--第一個shell指令碼指令碼
- 如何讓shell指令碼變成可執行檔案指令碼
- linux 查詢某個日期以後修改過哪些檔案 shell指令碼Linux指令碼
- 一個確定trace檔案的指令碼指令碼
- 簡述密碼檔案的兩個特性密碼
- Linux求兩個文字檔案的交集、差集、並集Linux
- 9個實用shell指令碼指令碼
- 如何在shell指令碼里使用sftp批次傳送檔案指令碼FTP
- 將DOS批處理檔案轉換為Shell指令碼指令碼
- 一個比較好的shell指令碼指令碼
- 【shell 指令碼】備份最後一天所有修改的檔案指令碼
- 建立dblink的兩個指令碼。指令碼
- 一個簡單的Gradle指令碼檔案Gradle指令碼
- 兩道shell指令碼的程式設計題(sed與awk)指令碼程式設計
- 快速部署tomcat專案的Shell指令碼Tomcat指令碼
- shell指令碼指令碼