顯示文章

這裡允許您檢視這個會員的所有文章。請注意, 您只能看見您有權限閱讀的文章。


文章 - rich

頁: [1]
1
各位學長大家安安!
小弟寫的語言是C shell
用alias指令設定二個別名,
再分別計算a、b、c值(三個內容都是1+2)
但b的寫法卻失敗,結果是空白,一直想不出來為什麼?
偏偏在公司b的這種寫法運算結果又是正常orz
希望高手解答,小弟萬分感謝
程式碼如下

#!/usr/bin/csh

alias MAT 'echo " \!:1 " | bc'
alias MAT1 'set \!:1 = `echo " \!:2 " | bc `'

set a=`echo " 1+2 " | bc`
set b=`MAT 1+2`
MAT1 c 1+2

alias
exit


執行完畢後
a=3
b=
c=3

最後的alias指令顯示出別名確實有設定這二行
MAT   echo " !:1 " | bc
MAT1   set !:1 = `echo " !:2 " | bc `

以上請大家幫忙~再次感謝!!

2
原來方法有這麼多種,有些是我想都想不到的,
我會試試大家提供的方法,
找出一個最適合自己使用的方法。
再次感謝回文的各位大大,感恩~ ;D

3
一般的習慣, 一行是一筆記錄, 欄是該筆記錄的某個特定值,
...

感謝您的答覆
但是上面我表達的不夠清楚,真是抱歉~
其實這二欄是物件的座標值x軸、y軸,所以是不能拆開,
排序是為了要取得需要的路徑,

例如從左到右,由下至上座標為
10.2 25.2
20.4 25.2
10.2 50.4
20.4 50.4
10.2 100.8
20.4 100.8

而y正序、x反序,指的是從右到左、由下至上的座標,排序如下
20.4 25.2 ─┬─同一y軸
10.2 25.2 ─┘
20.4 50.4 ─┬─同一y軸
10.2 50.4 ─┘
20.4 100.8─┬─同一y軸
10.2 100.8─┘

所以x軸的反序要在同一y軸的條件下,並不是真的要把x、y都打散。

4
請問排序二欄位資料時,可以指定一欄正序,一欄反序嗎?

例如資料為:
10.2 25.2
10.2 50.4
10.2 100.8
20.4 25.2
20.4 50.4
20.4 100.8

當排列正序時都很正常,以第二欄排序:
sort -n -t" " -k2 $outfile -o $outfile

得到:
10.2 25.2
20.4 25.2
10.2 50.4
20.4 50.4
10.2 100.8
20.4 100.8

但希望得到第一欄反序第二欄正序時卻出問題:
做法是用二行指令先排序欄位一,再排序欄位二
sort -n -t" " -r -k1 $outfile -o $outfile
sort -n -t" " -k2 $outfile -o $outfile

結果第一行有正確把第一欄反序排列,
但第二行排序欄位二時,卻又把第一欄的資料改成正序
若第二行指令改成
sort -n -t" " +1 -2 $outfile -o $outfile
結果第一欄的資料也一樣亂掉,不是原來的反序,

希望得到的結果是:
20.4 25.2
10.2 25.2
20.4 50.4
10.2 50.4
20.4 100.8
10.2 100.8

請問有正確的做法,或是建議的做法嗎?感謝~ :)

5
用 eval

又多學了一個指令,真是萬分感謝。
也謝謝elleryq版主和netman管理員的熱情回應,
請受小弟一拜 :)

6
程式討論版 / Shell Scripts變數命名問題?
« 於: 2010-07-15 02:48 »
Shell Scripts中要如何取回含有『變數命名』的變數值?
例如:
變數name是一個陣列$name[1]=john  $name[2]=mary .....等等很多組名字
而另一個變數是要在人名後加上_m
$name[1]_m  也就是 john_m
$name[2]_m  也就是 mary_m
.
.
.

因為每次執行時的人名跟人數不固定,無法直接以 john_m 來命名變數,
而要以$name[1]_m當成變數名稱,
但在要取回變數值的時候,卻不能寫 $$name[1]_m ,
因為程式不能接受連續二個$號,我該如何取回變數值呢?

頁: [1]