導航:首頁 > 編程系統 > linuxawk計算器

linuxawk計算器

發布時間:2021-04-21 17:12:29

『壹』 linux中,如何使用awk計算一個文本(只有一行)中有多少個單詞呢

gawk '{print $1\n}' filename |wc -l
這個事把文件每個單詞列印一行,然後通過wc進行行計數。原理簡單,可行。

『貳』 Linux中awk命令正確的求最大值,最小值,平

|test.txt文件內容:
9
11
35
21
42
118

求最大值:

awk 'BEGIN {max = 0} {if ($1+0 > max+0) max=$1} END {print "Max=", max}' test.txt
Max= 118

求最小值版:

awk 'BEGIN {min = 65536} {if ($1+0 < min+0) min=$1} END {print "Min=", min}' test.txt
Min= 9

求和:

cat test.txt|權awk '{sum+=$1} END {print "Sum= ", sum}'
Sum= 236

求平均值:

cat test.txt|awk '{sum+=$1} END {print "Avg= ", sum/NR}'
Avg= 39.3333

『叄』 在linux 下編寫awk腳本計算每個人的平均成績及所有人的平均成績

1)總分:awk 'END {print ($2+$3+$4+$5)/4}' score
說明,第一行,如NUM,math在做數值運算中,做0計算的。
各個成績記錄在文件 score中。
2)計算各個學生的成績:
示例計算3241的平均成績,awk '{if ($1=="3241") print ($2+$3+$4+$5)/4}' score

『肆』 linux系統下awk語言計算佔比問題

輸入文件造為:


2016-7-26 tcp_mis 200
2016-7-27 tcp_mis 100
2016-7-28 tcp_mis 300
2016-7-29 udp_mis 400
2016-7-30 udp_mis 500
2016-7-31 udp_mis 600


腳本邏輯沒有管第一列日期,只管了第二列類型:

cat1.txt|awk'{sum=sum+$3;if($2=="tcp_mis")tcp_sum=tcp_sum+$3;}END{percent=tcp_sum/sum;printf("allsum:%d.tcp_missum:%d,percent%.2f.
",sum,tcp_sum,percent);}'


輸出

all sum:2100.tcp_mis sum:600,percent 0.29.

『伍』 linux shell 計算排序awk,sort OR uniq!

是這樣嗎:

[seesea@UC ~]$ cat file
1 2 3 2
1 2 4 2
1 4 7 2
1 4 8 2
1 3 5 2
1 3 6 2
[seesea@UC ~]$ awk '{count[$1" "$2]++; for(i=3; i<=NF; ++i) sum[$1" "$2,i]+=$i} END{for(i in count) { printf i; for(j=3; j<=NF; ++j) {printf OFS sum[i,j]/count[i]} print "" }}' file
1 2 3.5 2
1 3 5.5 2
1 4 7.5 2

『陸』 如何在Linux中使用awk命令

awk實例
1、cat /etc/passwd|awk -F: '{print $1}'
2、linux的awk一般都是,/bin/awk -> gawk
3、awk 『/abc/』 file.txt 顯示文件中包含abc行。類似grep abc a.txt
4、awk 『{print NR,NF,$1,$NF,}』 file.txt按空格分隔列,顯示當前記錄號、域數和每一行的第一列和最後一列。
-F參數可以設置分割參數,例如按:分割
awk -F: 『{print $1}』 /etc/passwd
或者cat file|awk -F 「|」 『{print $1}』
5、awk編程語言
cat v.txt|awk 『{print length($1)}』
6、awk中使用NR和FNR,一般在awk處理多個文件時,NR==FNR才有意義
NF 當前記錄中的欄位數。
NR 當前記錄數。
FNR同NR,但相對於當前文件。
awk 『{print NR,FNR}』 test.txt test2.txt
awk 『{if(NR==FNR){a[FNR]=$1;}else{print $1,a[FNR]}}』 b.txt a.txt
7、列印奇數行與偶數行
awk 『NR%2』 test.txt
awk 『!(NR%2)』 test.txt
8、殺死tomcat的stop.sh腳本
#!/bin/sh
ps -ef| grep tomcat |grep -v grep | awk 『{print $2}』 |xargs kill -9
9、列印前7列
cat a.txt|awk 『{NF=7}1』 >> b.txt
tail -f access.log|awk 『NF=7′ OFS=』\t』 >> b.txt
cut -d」,」 -f3-6 urfile

『柒』 Linux 裡面命令行打開計算器 怎麼輸入




linux命令行計算器












詳細文檔請 man bc

在windows下,大家都知道直接運行calc,(c:windowssystem32calc.exe),可以打開計算器。

註:

calculate vt.&vi.
計算;calculator n. 計算器。calc就是這個計算的簡寫。
Ca在化學中是代表鈣元素,calcium
鈣(20號元素,符號Ca)。兩者有什麼聯系呢?
calculate 來自calculus,原義是做算術運算的小石子,是calx(石灰石)的小稱。


那麼在linux系統下,有無與windows下calc.exe類似的計算器呢?


下面總結linux下的三個命令,來介紹一下linux下的計算方法:


1)bc
bc在默認的情況下是個互動式的指 令。在bc工作環境下,可以使用以下計算符號:
+ 加法
- 減法
* 乘法
/ 除法
^ 指數
% 余數
如:
#
bc
bc 1.06
Copyright 1991-1994, 1997, 1998, 2000 Free Software Foundation,
Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
3+6
<=加法
9
4+2*3<=加法、乘法
10
(4+2)*3<=加法、乘法(優先)
18
4*6/8
<=乘法、除法
3
10^3
<=指數
1000
18%5<=余數

3+4;5*2;5^2;18/4
<=一行輸入多個計算,用;相隔。
7
10
25
4
quit <=退出

# bc
bc 1.06
Copyright 1991-1994, 1997, 1998, 2000 Free Software Foundation,
Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
scale=3
<=設小數位
1/3
.333
quit

以上是交互的計算,那到也可以 不進行交互而直接計算出結果。

A.用echo和|法,如:

# echo "(6+3)*2" |bc
18

# echo 15/4 |bc
3

# echo "scale=2;15/4"
|bc
3.75

# echo "3+4;5*2;5^2;18/4"
|bc
7
10
25
4

另外,
bc除了scale來設定小數位之外,還有ibase和obase來其它進制的運算。

如:

//將16進制的A7輸出為10進制, 注意,英文只能大寫

# echo "ibase=16;A7"
|bc
167

//將2進制的11111111轉成10進制

# echo "ibase=2;11111111"
|bc
255

//輸入為16進制,輸出為2進制

# echo "ibase=16;obase=2;B5-A4"
|bc
10001

對於bc還有補充,在bc --help中還可以發現:bc後可以接文件名。如:

# more calc.txt
3+2
4+5
8*2
10/4
# bc calc.txt
5
9
16
2


2)expr

expr命令可不光能計算加減乘除哦,還有很多表達式,都可以計算出結果,不過有一點需要注意,在計算加減乘除時,不要忘了使用空格和轉義。下
面直接用實例來介紹一下expr的運算,如:

# expr 6 +
3
(有空格)
9

# expr2 *
3
(有轉義符號)
6

# expr 14 % 9
5

# a=3
# expr
$a+5
(無空格)
3+5
# expr $a +
5
(變數,有空格)
8

#
a=`expr 4 + 2`
echo $a
6
# expr $a + 3
9

另外,expr對於字串的操作(計算)也是很方便的,如:

//字串長度
#expr length
"yanggang.cublog.cn"
21

//從位置處抓取字串
# expr substr "yanggang.cublog.cn"
1 11

yanggang


//字串開始處

# expr index
"yanggang.cublog.cn" cu
13

3)dc

用dc來進行計算的人可以不多,因為dc與bc相比要復雜,但是在進行簡單的計劃時,是差不多的,不算難。dc為壓棧操作,默認也是交互的,但
也可以用echo和|來配合打算。

如:

# dc
3
2+

p
5
4*
p
20

quit

# echo 3 2+ 4* p |dc
20

4)echo

echo用來進行回顯,是周知的事。上面也配合bc來進行計算。其實echo也可以單獨進行簡單的計算,如:

# echo $((3+5))
8
# echo $(((3+5)*2))
16

echo還可以進行變數的計算,如:

# a=10
# b=5
# echo $(($a+$b))
15
# echo $a+$b
10+5
# echo $a+$b |bc
15

//計算前天的日期

# echo `date
+%Y%m%d`
20090813
# echo `date +%Y%m%d`-2
20090813-2
# echo `date +%Y%m%d`-2
|bc
20090811

5)AWK

awk在處理文件的時,可以進行運算,那當然也可以單單用來計算了,如:

# awk 'BEGIN{a=3+2;print
a}'
5
# awk 'BEGIN{a=(3+2)*2;print
a}'
10

Awk 支持常見的運算符, 如 + (加),- (減), * (乘), / (除), ^ 或 ** (乘方), % (取模)
等等。 此外, awk 也提供了一些常用的數學函數, 比如 sin(x), cos(x), exp(x), log(x),
sqrt(x), rand()。 使用這些運算符和函數可以直接進行一些簡單的運算:

# echo | awk '{print
8+6}'

14

# echo | awk '{print
8/6}'

1.33333

# echo | awk '{print
9%5}'

4



『捌』 Linux 裡面命令行打開計算機 怎麼輸入

下面總結linux下的三個命令,來介紹一下linux下的計算方法:

1)bc
bc在默認的情況下是個互動式的指 令。在bc工作環境下,可以使用以下計算符號:
+ 加法
- 減法
* 乘法
/ 除法
^ 指數
% 余數
如:
# bc
bc 1.06
Copyright 1991-1994, 1997, 1998, 2000 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
3+6 <=加法
9
4+2*3 <=加法、乘法
10
(4+2)*3 <=加法、乘法(優先)
18
4*6/8 <=乘法、除法
3
10^3 <=指數
1000
18%5 <=余數
3+4;5*2;5^2;18/4 <=一行輸入多個計算,用;相隔。
7
10
25
4
quit <=退出

# bc
bc 1.06
Copyright 1991-1994, 1997, 1998, 2000 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
scale=3 <=設小數位
1/3
.333
quit

以上是交互的計算,那到也可以 不進行交互而直接計算出結果。
A.用echo和|法,如:
# echo "(6+3)*2" |bc
18
# echo 15/4 |bc
3
# echo "scale=2;15/4" |bc
3.75
# echo "3+4;5*2;5^2;18/4" |bc
7
10
25
4

另外, bc除了scale來設定小數位之外,還有ibase和obase來其它進制的運算。
如:
//將16進制的A7輸出為10進制, 注意,英文只能大寫
# echo "ibase=16;A7" |bc
167
//將2進制的11111111轉成10進制
# echo "ibase=2;11111111" |bc
255
//輸入為16進制,輸出為2進制
# echo "ibase=16;obase=2;B5-A4" |bc
10001

對於bc還有補充,在bc --help中還可以發現:bc後可以接文件名。如:
# more calc.txt
3+2
4+5
8*2
10/4
# bc calc.txt
5
9
16
2

2)expr
expr命令可不光能計算加減乘除哦,還有很多表達式,都可以計算出結果,不過有一點需要注意,在計算加減乘除時,不要忘了使用空格和轉義。下 面直接用實例來介紹一下expr的運算,如:
# expr 6 + 3 (有空格)
9

# expr 2 \* 3 (有轉義符號)
6
# expr 14 % 9
5

# a=3
# expr $a+5 (無空格)
3+5
# expr $a + 5 (變數,有空格)
8

# a=`expr 4 + 2`
echo $a
6
# expr $a + 3
9

另外,expr對於字串的操作(計算)也是很方便的,如:
//字串長度
# expr length "yanggang.cublog.cn"
21

//從位置處抓取字串
# expr substr "yanggang.cublog.cn" 1 11
yanggang

//字串開始處
# expr index "yanggang.cublog.cn" cu
13

3)dc
用dc來進行計算的人可以不多,因為dc與bc相比要復雜,但是在進行簡單的計劃時,是差不多的,不算難。dc為壓棧操作,默認也是交互的,但 也可以用echo和|來配合打算。
如:
# dc
3
2+
p
5
4*
p
20
quit

# echo 3 2+ 4* p |dc
20

4)echo
echo用來進行回顯,是周知的事。上面也配合bc來進行計算。其實echo也可以單獨進行簡單的計算,如:
# echo $((3+5))
8
# echo $(((3+5)*2))
16

echo還可以進行變數的計算,如:
# a=10
# b=5
# echo $(($a+$b))
15
# echo $a+$b
10+5
# echo $a+$b |bc
15

//計算前天的日期
# echo `date +%Y%m%d`
20090813
# echo `date +%Y%m%d`-2
20090813-2
# echo `date +%Y%m%d`-2 |bc
20090811

5)AWK
awk在處理文件的時,可以進行運算,那當然也可以單單用來計算了,如:
# awk 'BEGIN{a=3+2;print a}'
5
# awk 'BEGIN{a=(3+2)*2;print a}'
10

Awk 支持常見的運算符, 如 + (加),- (減), * (乘), / (除), ^ 或 ** (乘方), % (取模) 等等。 此外, awk 也提供了一些常用的數學函數, 比如 sin(x), cos(x), exp(x), log(x), sqrt(x), rand()。 使用這些運算符和函數可以直接進行一些簡單的運算:
# echo | awk '{print 8+6}'
14
# echo | awk '{print 8/6}'
1.33333
# echo | awk '{print 9%5}'
4

『玖』 linux用awk計算二進制文件中的數值和

awk '{if (NR < 20){for (i=2; i<18; i++){sum += $i;}}else{exit;}} END{printf "Total:%x\n", sum; }' $file

$file是你的文件名

『拾』 LINUX awk 語句 awk ' { SUM += $1 } END { print SUM }'請問這個要怎麼理解,需詳細

1、首抄先awk截取指定域,在日誌的處理和監控中,經常會截取指定的字元來進行後續處理。如:從df -h命令中提取/目錄所佔百分比(監控經常會用到)。

閱讀全文

與linuxawk計算器相關的資料

熱點內容
如何保護網路開發 瀏覽:346
特工夫妻電影叫什麼名字 瀏覽:76
手機數據天線如何檢測好壞 瀏覽:815
特工小孩 瀏覽:398
做網路滲透是什麼意思 瀏覽:646
手機辦公有哪些免費app 瀏覽:533
esj輕小說網站怎麼下載小說 瀏覽:735
電影院和女朋友牽手的圖片 瀏覽:20
無毒看片的網站 瀏覽:86
電影電視劇在線免費網站 瀏覽:897
重裝系統後舊系統文件 瀏覽:413
word中表格如何清除文件格式 瀏覽:686
填空什麼的網路 瀏覽:214
可以看電影院上映的電影的網站 瀏覽:3
香港蘋果手機保修政策 瀏覽:950
文件怎麼去掉水印 瀏覽:13
有個國外大尺度電影孕婦分娩的叫什麼 瀏覽:467
怎麼停止資料庫的服務和進程 瀏覽:463
征途裝備靈魂鎖鏈物防11怎樣升級 瀏覽:56

友情鏈接