在shell script數字排序 - Linux

By Jessica
at 2014-10-03T17:06
at 2014-10-03T17:06
Table of Contents
※ 引述《filiaslayers (司馬雲)》之銘言:
: 請問一下,shell下有程式可以排序數字嗎?
: 像是我用read輸入了3 9 11 4存到變數a
: 是否有程式可以幫我排序變數a的數字得到b?
測試...
Linux:kendlee@~> a="23 9 2 54 4 22 67"
Linux:kendlee@~> echo $a
23 9 2 54 4 22 67
所以內容有隨機的數值在裡面。一般要排序可以使用 sort -n 處理,但是
變數內容是一整行無法排序,所以得先變成多行才可以給 sort 處理。所以...
Linux:kendlee@~> echo $a | tr " " "\n"
23
9
2
54
4
22
67
所以看起來有成功變成多行了.... 那可以開始透過 sort -n 處理:
Linux:kendlee@~> echo $a | tr " " "\n" | sort -n
2
4
9
22
23
54
67
那最後要產生一個變數紀錄,用空白隔開的話,那就....
Linux:kendlee@~> b=$(echo $a | tr " " "\n" | sort -n )
Linux:kendlee@~> echo $b
2 4 9 22 23 54 67
提供給你參考。
--
: 請問一下,shell下有程式可以排序數字嗎?
: 像是我用read輸入了3 9 11 4存到變數a
: 是否有程式可以幫我排序變數a的數字得到b?
測試...
Linux:kendlee@~> a="23 9 2 54 4 22 67"
Linux:kendlee@~> echo $a
23 9 2 54 4 22 67
所以內容有隨機的數值在裡面。一般要排序可以使用 sort -n 處理,但是
變數內容是一整行無法排序,所以得先變成多行才可以給 sort 處理。所以...
Linux:kendlee@~> echo $a | tr " " "\n"
23
9
2
54
4
22
67
所以看起來有成功變成多行了.... 那可以開始透過 sort -n 處理:
Linux:kendlee@~> echo $a | tr " " "\n" | sort -n
2
4
9
22
23
54
67
那最後要產生一個變數紀錄,用空白隔開的話,那就....
Linux:kendlee@~> b=$(echo $a | tr " " "\n" | sort -n )
Linux:kendlee@~> echo $b
2 4 9 22 23 54 67
提供給你參考。
--
Tags:
Linux
All Comments

By Mason
at 2014-10-05T02:23
at 2014-10-05T02:23

By Quanna
at 2014-10-05T07:31
at 2014-10-05T07:31

By Robert
at 2014-10-05T19:24
at 2014-10-05T19:24

By Liam
at 2014-10-08T11:18
at 2014-10-08T11:18

By Ivy
at 2014-10-10T01:27
at 2014-10-10T01:27

By Hazel
at 2014-10-11T17:11
at 2014-10-11T17:11
Related Posts
Linux centOS 7使用上的問題

By Quintina
at 2014-10-03T16:58
at 2014-10-03T16:58
Linux centOS 7使用上的問題

By Faithe
at 2014-10-03T16:28
at 2014-10-03T16:28
在shell script數字排序

By Rae
at 2014-10-03T16:25
at 2014-10-03T16:25
openvpn 無法存取任何server以外的IP

By Skylar Davis
at 2014-10-03T13:46
at 2014-10-03T13:46
一張網卡多IP的顯示

By Ursula
at 2014-10-03T13:19
at 2014-10-03T13:19