亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標(biāo)題: 怎么把每一行有數(shù)字的相加到最后一列 [打印本頁]

作者: 櫻048    時(shí)間: 2015-03-18 17:22
標(biāo)題: 怎么把每一行有數(shù)字的相加到最后一列
怎么把每一行有數(shù)字的相加到最后一列如a文檔
媽媽我愛你 媽媽 10 愛你 9
下班要回家煮飯  下班 5 回家 4 煮飯 2

處理后
媽媽我愛你 媽媽 10 愛你 9 19
下班要回家煮飯  下班 5 回家 4 煮飯 2 11
多謝大神
作者: jason680    時(shí)間: 2015-03-18 17:28
回復(fù) 1# 櫻048

$ awk '{NF++;for(n=1;n<NF;n++)$NF+=$n}1' FILE
媽媽我愛你 媽媽 10 愛你 9 19
下班要回家煮飯 下班 5 回家 4 煮飯 2 11

   
作者: reyleon    時(shí)間: 2015-03-18 17:28
  1. awk '{for(i=1;i<=NF;i++)s+=$i;print $0,s;s=0}' file
復(fù)制代碼

作者: 我是一隻羊    時(shí)間: 2015-03-18 17:30
  1. awk '{for(i=0;i++<NF;)s+=$i;$0=$0" "s;s=""}1' inputfile
復(fù)制代碼

作者: 聆雨淋夜    時(shí)間: 2015-03-18 17:43
回復(fù) 2# jason680
請(qǐng)教,awk做運(yùn)算時(shí)是怎么處理字符串的


   
作者: jason680    時(shí)間: 2015-03-18 23:14
回復(fù) 5# 聆雨淋夜


>>請(qǐng)教,awk做運(yùn)算時(shí)是怎么處理字符串

1. all data are string
媽媽我愛你 ==> string
媽媽  ==> string
10 ==> string
愛你 ==> string
9 ==> string

2. $NF += $n
n=1, $n => 媽我愛你(string) ==> convert to number and give the number 0
$NF += 0, result $NF = 0
Note: first char is not a number(0~9), cannot convert to number and return number 0

n=2, $n => 媽(string) ==> convert to number and give the number 0
$NF += 0, result $NF = 0

n=3, $n => 10(string) ==> convert to number and give the number 10
$NF += 10, result $NF = 10
Note: first char 1 is number string(0~9), and next char 0 is also number string(0~9)
..., get all number string(10) convert to number 10

n=4, $n => 你(string) ==> convert to number and give the number 0
$NF += 0, result $NF = 10

n=5, $n => 9(string) ==> convert to number and give the number 9
$NF += 9, result $NF = 19




作者: 櫻048    時(shí)間: 2015-03-19 14:34
如果我要把一行數(shù)據(jù) 第二列跟第五列數(shù)據(jù)相同的時(shí)候  就把這一行數(shù)據(jù)提出來  不相同的話就不用

ωǒ 2015/3/19 14:30:12
ABCDEF CD AB 800 CD 650
QWERT RT QW 800 ER 650
想要的結(jié)果是
ABCDEF CD AB 800 CD 650
回復(fù) 2# jason680


   
作者: songyc_2015    時(shí)間: 2015-03-19 14:43
回復(fù) 7# 櫻048


    awk '$2==$5' file
作者: 我是一隻羊    時(shí)間: 2015-03-19 15:58
回復(fù) 6# jason680


   學(xué)習(xí)了..
作者: 櫻048    時(shí)間: 2015-04-21 14:52
如果第二列中包含了數(shù)字,怎么不要把數(shù)字也算進(jìn)去呢
媽媽我愛你 10媽媽 10 愛你 9
下班要回家煮飯  下班9 5 回家 4 煮飯 2

處理后
媽媽我愛你 10媽媽 10 愛你 9 19
下班要回家煮飯  下班9 5 回家 4 煮飯 2 11

回復(fù) 3# reyleon


   
作者: reyleon    時(shí)間: 2015-04-21 14:58
回復(fù) 10# 櫻048
  1. awk '{for(i=1;i<=NF;i++)if($i~/^[0-9]+$/)s+=$i;print $0,s;s=0}' file
復(fù)制代碼

作者: 櫻048    時(shí)間: 2015-04-21 15:01

ABCDEF CD AB 800 CD 650 54555
QWERTEE RT QW 800 ER 650 EE 650 5124
想要的結(jié)果是
ABCDEF CD AB  CD  54555
QWERTEE RT QW  ER  EE  5124

回復(fù) 7# 櫻048


   
作者: 櫻048    時(shí)間: 2015-04-21 15:11
如果要把第3、5、7列的數(shù)字去掉呢
回復(fù) 11# reyleon


   
作者: reyleon    時(shí)間: 2015-04-21 16:06
本帖最后由 reyleon 于 2015-04-21 16:07 編輯

回復(fù) 13# 櫻048
  1. awk '{n=$NF;NF--;for(i=1;i<=NF;i++)if($i!~/^[0-9]+$/)s=s?s FS $i:$i;print s,n;s=""}' file
復(fù)制代碼

作者: 櫻048    時(shí)間: 2015-04-21 16:20
灰常感謝~~
回復(fù) 14# reyleon


   




歡迎光臨 Chinaunix (http://72891.cn/) Powered by Discuz! X3.2