
HP-UX,UNIX環境です。
あるファイルを⇒a.txtとします。
a.txtには以下のような記述だとします。(行は複数行)
20110322000000 00:00:00 PERFORMANCE all
20110322000100 00:00:00 PERFORMANCE all
20110322000200 00:00:00 PERFORMANCE all
20110322000300 00:00:00 PERFORMANCE all
shでのループ処理は以下のようにしたいです。
(1)2行目の1カラム目から1行目の1カラム目を引き算、
(2)計算結果をファイルにリダイレクト
(3)4行目の1カラム目から3行目の1カラム目を引き算
(4)計算結果をファイルにリダイレクト
※awkを使えば出来そうですが、やり方がわかりません。
お手数ですが、ご回答宜しくお願い致します。
No.4
- 回答日時:
なんで「CGI」のところでシェルスクリプトやawkの質問をするのでしょうか。
{
num = $1;
if (getline > 0)
print $1 - num;, $0
}
余計な行はないと仮定しています。
回答ありがとうございます。
shとかのカテゴリがなかったので、ここにしてしまいましたが、
その他(プログラミング)とかありましたね。
No.3
- 回答日時:
> shでのループ処理は以下のようにしたいです。
2n行目から2n-1行目を減じるという処理でしょうか。
awk使わなくてもシェルスクリプトでもできる処理ではありますが。
$ DATA='20110322000000 00:00:00 PERFORMANCE all'
$ set -- $DATA
$ echo $1
20110322000000
既に指摘されている通り、20110322000000は整数を32ビットとして扱った時に扱える範囲を越えてますので(64ビットで扱うなら問題起こらない)分割して処理する等対処する必要があるかも知れません。
この回答への補足
saijyo_739さん
回答ありがとうございます。
確かに計算のビット数は意識してませんでした。
10桁どうしの引き算になりそうです。
echoで10桁どうしの簡単な引き算をしてみましたが、
ちゃんと表示できるみたいですね
No.1
- 回答日時:
awkなら、現在の行は組込み変数NRで参照できる。
奇数行目(NR % 2 == 1) : 1カラム目($1)を適当な変数に退避
奇数行目(NR % 2 == 0) : 1カラム目から、奇数行目で退避した値を引いて出力
よって
awk '{ if ( NR %2 == 1) { t = $1 } else { print $1 - t }' < 入力 > 出力
...なんですが、例にある14桁の数字だと、処理系によっては計算精度をオーバーして正常に計算できません。そのような場合は、筆算の要領で分割して計算するか、多倍長や無限桁整数に対応している言語(Ruby,Python等)で同様のプログラムを作るのがいいでしょう。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで集計したい。
-
入力フォーム(電話番号)
-
ChatGPT
-
フォームを再送信しますか?
-
ChatGPTの性能は昔に比べて上が...
-
chatGPTみたいに画像生成出来る...
-
cgiの注釈が出来ない
-
apacheでPerl CGIが作動せず、5...
-
ワードでの操作方法について、...
-
めちゃきれい
-
テキストエリアの<br />を非表...
-
iDeCo
-
皆さんはGUCCIはハイブランドだ...
-
cgi-binのエラー?
-
Trees掲示板CGI(CGI-Resque氏...
-
number 改行が追加できない
-
生成AI画像について
-
3DCG
-
ホームページにメールフォーム...
-
cgi アクセス制限 エラー
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで集計したい。
-
ChatGPT
-
ChatGPTの性能は昔に比べて上が...
-
フォームを再送信しますか?
-
chatGPTみたいに画像生成出来る...
-
apacheでPerl CGIが作動せず、5...
-
入力フォーム(電話番号)
-
ホームページでCGIのフォームを...
-
VBAで条件から範囲を指定して色...
-
(フリーの)ツリー掲示版CGI、...
-
/bin/awk '{print $5}'ってどう...
-
CGIが読み書きするデータファイ...
-
perlで書いたcgiでsqliteの使い...
-
生成AI画像について
-
CGI.pmはもう古い!?
-
cgi-binのエラー?
-
古ーくからフリーのtree.cgi掲...
-
皆さんはGUCCIはハイブランドだ...
-
htmlからパラメータで、cgiに渡...
-
CGIの記述について教えてくださ...
おすすめ情報