請問awk及算數運算元問題 - Linux

Table of Contents

目前遇到awk及算數運算元的問題

想請問版友一下

目前有2個檔案

a.txt內容為

2100427197905
2100427192954
2100427192807

b.txt內容為

241
2512
147

想請問一下該如何讓
a.txt的第一行加上b.txt的第一行然後輸出於c.txt的第一行呢?
(這邊是指數字上的相加)

c.txt的內容
2100427198146
2100427195466
2100427192954

另一個問題是

a.txt的內容每一行都加上1000 可以用下面這種寫法嗎?
cat a.txt | awk '{print $(( $1 + 1000 ))}'

--
★小天使 痛苦的時侯要笑。

--

All Comments

Michael avatarMichael2010-04-28
有兩個 stream,要是我不會用 pipe
建議用 shell script + $((x+y))
Erin avatarErin2010-04-30
目前是用cat a.txt| awk '{print $1 + 1000 }'
Hedda avatarHedda2010-05-01
不過這樣會變成科學記號表示 變成 2.10043e+12 囧
Odelette avatarOdelette2010-05-05
有人知道怎麼還原回來原本的數字嗎?不要科學記號啦>"<
Oliver avatarOliver2010-05-05
cat a.txt| awk '{printf("%d\n",$0 + 1000)}'可以解決
Emma avatarEmma2010-05-09
paste a.txt b.txt | awk '{printf ("%d\n",$1+$2)}'
Selena avatarSelena2010-05-10
謝謝樓上~請問除了用paste還有其他方法嗎?
Puput avatarPuput2010-05-13
cat a.txt b.txt|awk 'BEGIN{RS=""}{for(i=1;i<4;i++)
{printf("%d \n",$(i)+$(i+3))}}'