我想創建一個對一定數量的資料行進行操作的代碼,為此我只想通過乘以數字本身來計算負數以使它們為正負示例
資料
10
11
-12
-13
-14
預期產出
10
11
144
169
196
這是我一直在嘗試的
awk 'int($0)<0 {$4 = int($0) 360}
END {print $4}' data.txt
但我什至沒有得到輸出,任何人都可以幫助我嗎?
uj5u.com熱心網友回復:
awk '$0 < 0 { $0 = $0 * $0 } 1' data.txt
當它為負時,第一個條件將值與自身相乘。條件1始終為真,因此無條件列印該行。
uj5u.com熱心網友回復:
還:
awk '{print($0<0)?$0*$0:$0}' input
uj5u.com熱心網友回復:
$ awk '{print $0 ^ (/-/ ? 2 : 1)}' file
10
11
144
169
196
uj5u.com熱心網友回復:
您也可以僅匹配以開頭的數字,-在這種情況下將它們相乘
awk '{print (/^-[0-9] $/ ? $0 * $0 : $0)}' data.txt
輸出
10
11
144
169
196
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/432490.html
