cshスクリプトで配列の最大値と最小値

AkaiKKRでコバルトのc/a その2ではcshのシェルスクリプトの中で、配列の中の最大値と最小値を探す方法が分からないので、常に昇順または降順に並んでいると仮定してスクリプトを書きました。

今回は、その点の補足として awk を使った配列の中で最大値と最小値を探すスクリプトを書きました。

#!/bin/csh -f

set LIST=( 1.2 3.00 4.3 2.1 1 3.2 )
set MAX=${LIST[1]}
set MIN=${LIST[1]}

foreach NUM ( ${LIST} )
set MAX=`echo ${NUM} ${MAX} | awk '{if ($1>=$2) print $1; else print $2}'`
set MIN=`echo ${NUM} ${MIN} | awk '{if ($1<=$2) print $1; else print $2}'`
end

echo ${MAX} ${MIN}


...たぶんもっとシンプルな回答があるのだろうとは思いますが。

関連エントリ




参考文献/使用機器




フィードバック



にほんブログ村 その他趣味ブログ 電子工作へ

 ↑ 電子工作ブログランキング参加中です。1クリックお願いします。


コメント・トラックバックも歓迎です。 ↓      


 ↓ この記事が面白かった方は「拍手」をお願いします。

tag: シェルスクリプト awk 

n行ごとに改行を挿入するシェルスクリプト

Gnuplotで3次元プロットを行うためには、入力するデータのファイルに改行が入っていないとエラーが出ます。
そこでn行ごとに改行を挿入するシェルスクリプトinsbreak.shを書きました。

#!/bin/bash

tmpfile=$(mktemp)
cat ${1} | awk '{print $0} NR%'${2}'==0 {printf "\n"}' > ${tmpfile}
mv ${tmpfile} ${1}


使い方は以下のようにコマンドラインに打ち込みます。

./insbreak.sh hoge.dat 5



上記の例ではhoge.datにたいして5行ごとに改行が入ります。
仮にhoge.datが以下の内容だったとします。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20


するとhoge.datは以下のように上書きされます。

1
2
3
4
5

6
7
8
9
10

11
12
13
14
15

16
17
18
19
20



本当は安全な一時ファイルの削除の仕方とかもあるようですが、今回はここまで。(どうせこのスクリプトは自分では使わないし)
結果を上書きしてしまうので、もし使うならファイルのバックアップは取っておいた方がいいです。

関連エントリ




参考URL




付録


このエントリで使用したシェルスクリプトを添付します。ファイル名末尾の".txt"を削除して、"_"を"."に変更すれば使えるはずです。(参考:ねがてぃぶろぐの付録)


フィードバック



にほんブログ村 その他趣味ブログ 電子工作へ

 ↑ 電子工作ブログランキング参加中です。1クリックお願いします。


コメント・トラックバックも歓迎です。 ↓      


 ↓ この記事が面白かった方は「拍手」をお願いします。

tag: cygwin シェルスクリプト awk 

FC2カウンター
カテゴリ
ユーザータグ

LTspiceAkaiKKRmachikaneyamaScilabKKRPSoC強磁性CPAPICOPアンプecalj状態密度モンテカルロ解析常微分方程式odeトランジスタインターフェースDOSスイッチング回路定電流PDS5022分散関係半導体シェルスクリプトレベルシフト乱数HP6632AR6452Aブレッドボード温度解析トランジスタ技術可変抵抗I2Cバンドギャップ数値積分セミナー確率論反強磁性バンド構造偏微分方程式非線形方程式ソルバ絶縁熱設計A/DコンバータシュミットトリガPWscfマフィンティン半径フォトカプラ三端子レギュレータLM358カオスGW近似LEDISO-I2C補間74HC4053TL431アナログスイッチサーボ数値微分発振回路カレントミラーPC817CUSB直流動作点解析標準ロジックアセンブラVESTAbzqlty電子負荷パラメトリック解析2ちゃんねるチョッパアンプ単振り子量子力学BSch開発環境トレーナーバトルFFTスーパーリーグ基本並進ベクトルブラべ格子LDAイジング模型ポケモンGOQuantumESPRESSOキュリー温度Quantum_ESPRESSO仮想結晶近似Maxima六方最密充填構造熱伝導スピン軌道相互作用抵抗失敗談相対論GGA繰り返しラプラス方程式VCAコバルトgfortran状態方程式不規則合金スイッチト・キャパシタTLP621ランダムウォークQSGWFETewidth最適化位相図SMPcygwinスレーターポーリング曲線シュレディンガー方程式固有値問題条件分岐Writer509awkデータロガーマントル自動計測ガイガー管詰め回路MCU三角波ダイヤモンド過渡解析ハーフメタルubuntu格子比熱UPSQNAPFXA-7020ZR井戸型ポテンシャルテスタ熱力学LM555平均場近似UbuntuNE555最大値第一原理計算最小値TLP521フェルミ面ZnOCIF差し込みグラフ起電力ゼーベック係数TLP552fsolveスーパーセルブラウン運動OpenMPxcrysden不純物問題擬ポテンシャルハイパーリーグgnuplotc/a全エネルギー状態図multiplot合金P-10磁気モーメントcif2cellPWgui半金属BaOOPA2277ウルツ鉱構造edelt2SC1815リジッドバンド模型ナイキスト線図岩塩構造スワップ領域PGA二相共存重積分ノコギリ波ルチル構造CapSenseSICデバイ模型quantumESPRESSOフィルタフォノン電荷密度Excel円周率初期値ヒストグラムGimpシンボル凡例線種interp1不規則局所モーメントウィグナーザイツ胞縮退疎行列文字列PvP入出力軸ラベルグラフの分割specx.fifort正規分布マテリアルデザインヒストグラム確率論等高線ジバニャン方程式境界条件連立一次方程式両対数グラフ片対数グラフHiLAPW熱拡散方程式Crank-Nicolson法陰解法化学反応三次元トラックボールMAS830LCK1026PC直流解析TS-112TS-110トランスPIC16F785MBEEAGLEAACircuit固定スピンモーメントLMC662FSM等価回路モデルパラメータ・モデルフラクタルマンデルブロ集合L10構造fcc面心立方構造クーロン散乱キーボードRealforce最小二乗法日本語関数フィッティングTeX非線型方程式ソルバ結晶磁気異方性負帰還安定性

最新コメント
リンク

にほんブログ村 その他趣味ブログ 電子工作へ