![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
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で質問しましょう!
似たような質問が見つかりました
- SQL Server [SQLServer] テーブル名からカラム名を取得する 1 2022/08/23 21:20
- Java java 飾子を付けること(public static・・・) ・コンソールへの出力処理はmainメ 2 2022/06/16 19:34
- Java javaの質問です 次の機能を有するメソッド4つを自クラスに作成し、実装したいです 【機能】 足し算 1 2022/06/15 17:49
- Excel(エクセル) エクセル VBAでセル内容を別の列の最下行に転記したい 2 2022/11/29 08:47
- C言語・C++・C# C言語 3 2022/10/04 15:07
- Excel(エクセル) VBAで組み合わせ算出やCOUNTIFSの処理を高速化したいです。 4 2022/04/07 02:38
- Excel(エクセル) エクセル 関数について質問です。 2 2022/10/03 11:14
- その他(プログラミング・Web制作) awkの BEGIN{RS=""} で空行を削除できるが、削除できる仕組みが分からない。 1 2023/05/02 14:14
- Excel(エクセル) Excel、同じフォルダ内のExcelファイルの特定シートのみを1つのファイルに集約したい 8 2022/09/07 15:12
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで集計したい。
-
ホームページでCGIのフォームを...
-
apacheでPerl CGIが作動せず、5...
-
CGI経由PDFダウンロードでエラー
-
/bin/awk '{print $5}'ってどう...
-
(フリーの)ツリー掲示版CGI、...
-
CGIカウンターの画像が表示され...
-
3DCG
-
cgiでのアクセスカウンターの表...
-
cgi
-
CGI.pmはもう古い!?
-
Googleアラリティクスの埋め込...
-
htmlの偽装について質問があり...
-
POSTメソッドの最大容量について
-
CGIでhtmlページを表示する
-
めちゃきれい
-
number 改行が追加できない
-
生成AI画像について
-
ホームページにメールフォーム...
-
cgi アクセス制限 エラー
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで集計したい。
-
めちゃきれい
-
フォームを再送信しますか?
-
number 改行が追加できない
-
apacheでPerl CGIが作動せず、5...
-
ホームページでCGIのフォームを...
-
perlで書いたcgiでsqliteの使い...
-
生成AI画像について
-
POSTメソッドの最大容量について
-
(フリーの)ツリー掲示版CGI、...
-
htmlからパラメータで、cgiに渡...
-
ラズパイでのCGIで、pythonソー...
-
入力フォーム(電話番号)
-
CGIが読み書きするデータファイ...
-
CGIの設置が分かりません・・・
-
CGIって何ですか?簡潔に教えて...
-
/bin/awk '{print $5}'ってどう...
-
CGIの記述について教えてくださ...
-
ホームページの事でおしえてく...
-
CGIで出力するhtmlの<!DOCTYPE ...
おすすめ情報