• 締切済み

hp-uxについて教えてください

お願いします。 指数型で出力されているデータを実数型に 変換する方法、コマンドなどありましたら教えてください。 よろしくお願いします。

みんなの回答

  • a-kuma
  • ベストアンサー率50% (1122/2211)
回答No.3

> 上記、実行した結果以下のようになってしまいます。 あんな簡単なスクリプトが動かなくて、ちょっとドキッとしました。 $1の前は、カンマです。念の為、awk の部分を見やすいように全角で書いておきましょう。 awk ’{printf ”%20.15f”,$1}’ # やっぱり、みずらい…

  • a-kuma
  • ベストアンサー率50% (1122/2211)
回答No.2

多分、awk を使うのが一番簡単。 例えば、一行に一個だけ指数形式の数値だけがあって、それが複数行有るようなファイルを もっているとしたら、 % cat 指数形式のファイル | awk '{printf "%20.15f", $1}' で、標準出力に固定小数点形式(全20桁で、小数点以下が15桁)で出力されます。

chibitotoro
質問者

補足

度々ホントにありがとうございます。 上記、実行した結果以下のようになってしまいます。 $ cat test | awk '{printf "%20.15f".$1}' awk: cmd. line:1: {printf "%20.15f".$1} awk: cmd. line:1: ^ parse error Broken pipe hp-uxのrunacctが出力するfiscrptというファイルを実数形式にしたいのです。 データはすべて指数形式になっています。(私もrunacctについて理解できてないのですが。。。m(_)m

  • ykkw_2001
  • ベストアンサー率26% (267/1014)
回答No.1

私の勘違いかもしれませんので、下記の仮定で、一つでもはずしてたら、パスして下さい。 >hp-ux   って、ヒューレットパッカードのUNIXワークステーションの事ですよね。 で、 >実数型で出力 と言うのは、標準出力(画面とかファイル)にテキストで出力されているわけですよね。 で、chibitotoro さんは、UNIXのターミナル使用方法は、「わかっている」(コマンドは全部知らないけど・・)ですよね。 であるならば、UNIXのコマンドで、sed か、awk を調べてみて下さい。 ただし、今までawk sedを全く使ったことがなく かつ Cコンパイラなら経験あり ならば、Cでフィルタプログラムを作ったほうが、時間的に早そうです。

chibitotoro
質問者

補足

はい、ヒューレットパッカードのUNIXワークステーションですね。 runacctが出力するfiscrptというファイルを変換したいのです。 sedコマンドは使った事があります。 awkついては調べた事はありますが、理解しきれていないです。。。

関連するQ&A

  • HP-UXでの文字コード変換方法

    非常に困ってます。どなたかご存知の方、ご教授下さい。m(_ _)m あるPPが出力するログファイルがあり、そのログには UTF-8とSJISのコードが含まれている事が分かりました。 このファイルをSJISに変換したいのですが、iconvコマンドを使用すると(iconv -f utf8 -t sjis)、UTF-8の 箇所は問題なく、変換できますがSJISが混入している箇所で、エラーとなります。 「上記コマンド例では、"UTF-8"を"SJIS"に変換して!」という意味で、変換元にUTF-8ではない"SJIS"が 入っていると、その箇所で、エラーになるようです。 同一の要件を、Linuxでも実装する必要があります。 Linuxでは、iconv以外にも"kcc"という便利なコマンドが用意されているようで、"kcc -s"と実行すると 元ファイルにUTF-8であろうがSJISであろうが、何のコードが入っていても、自動判別して指定したコードに 変換してくれうようです。 と、いう訳でHP-UXでのコード変換に非常に困っています。どなたか、同じ事で悩まれた経験がある方、 知識豊富で、対象方法をご存知の方、 助けてください。。。m(_ _)m

  • HP-UXのプロセッサ型の調べ方

    HP-UXで itaniumかPA-RISCかを調べたいのですが、 unameコマンドをいろいろ試してもうまくできません。 調査方法を教えて頂けないでしょうか?

  • [HP-UX 11.23] du コマンドの出力結果をソート

    よろしくお願いします。 QNo.4011758「HP-UX 11.23 におけるディスク使用率確認方法」 でアドバイスいただき、duコマンドの存在を知りました。 manやWebサイトで使い方を確認中です。 <質問> duコマンドの出力結果を使用量でソートする方法はありますでしょうか? どうぞよろしくお願い致します。

  • dateコマンドでn分前の時刻を出力(HP-UX)

    HP-UXのdateコマンドでn分前の時間を出力する方法を知りたいです。 Linux等では、たとえば10分前の時刻を出力したい場合は、 % date -d "10minutes ago" とすればOKですが、HP-UXだとうまくいきません。 ご存知の方がいれば宜しくお願い致します。

  • hp-uxのsedコマンドについて教えてください

    hp-uxのコマンドで困っております。 どなたか知恵をお貸しいただけたらと思います。 あるファイルより条件に合致する特定の文字列の置換を行い別のファイルとして保存したいと考えております。 このときに以下のsedのコマンドを利用しているのですが、一部上手くいかなくて難儀しております。 コマンド(※文字列の前後にわかりやすく<>を付けていますが実際には入力しません) sed "/<文字列(1)>[^0-9]/"s"/<文字列(1)>/<文字列(2)>/"g aaaa.txt > bbbb.txt コマンドの内容 aaaa.txtの中を検索し文字列(1)かつ文字列(1)のすぐ後ろの文字が数字でない場合(例えばIPアドレスで10.xxx.xxx.1というIPアドレスを置換したい場合に10.xxx.xxx.10や10.xxx.xxx.100を含めないようにする場合です)、文字列(1)を文字列(2)に置換しbbbb.txtに保存する。 (※上記コマンドのみだと条件に合致する文字列のたびにbbbb.txtが上書きされるため一番最後の条件に合致する文字列しか置換されませんので、実際にはコマンドのたびにbbbb.txtをaaaa.txtに上書きコピーするステップを入れています) この際、困っておりますのが元ファイルaaaa.txtにある各行の文字列が以下の場合に認識がされず置換が行われない点です。 (1)10.xxx.xxx.1<タブ>xxxxxxxxxの場合(※条件に合致する文字列のすぐ後ろにタブ文字が入っている場合) (2)10.xxx.xxx.1<改行>の場合(※条件に合致する文字列のすぐ後ろが改行となっており同一行にそれ以上文字が存在しない場合) 上記の(1),(2)のような行は置換が行われず、元の値のままとなってしまいます。 これらを解決する方法がありましたらよろしくお願いいたします。

  • AIX/HP-UXでパスワード変更シェルを作成したい

    AIX/HP-UXで一括でパスワード変更を実行するシェルを 作成したいと考えております。 (最終的には複数サーバの複数ユーザのパスワードを  一括変更したい) そこで、AIXで以下の様なシェルを作成したのですが、 パスワード変更することができませんでした。 -------------------------------------- PASS=$1   "新パスワード USER=$2   "パス変するアカウント名 passwd $USER sleep 5 $PASS sleep 5 $PASS -------------------------------------- passwdコマンド自体は実行されるのですが、 その後の新パスワードが入力されておらず、 passwdコマンドタイムアウト後に新パスワードが 実行され、"新パスワードの文字列"が見つかりません。 となってしまいます。 インターネット等で検索した結果、linuxであれば expectコマンドを使用して、passwdコマンドを実行した 際に出力される「新パスワード:」を待ってから 入力すればよいということがわかったのですが、 linuxでexpectコマンドに相当するものを、AIXでは 見つけることができませんでした。 AIX/HP-UXにおいて、シェルスクリプトにてパスワード 変更を実現する方法をご存知の方がいましたら、 教えてください。 よろしくお願いします。

  • printfの%eで指数部分の桁数を調整する方法?

    書式指定子の%eで、8文字までで出力しなければなりません。 printf("data = %8.3e\n",data); 仮にdataが6.456e5の場合、 data = 6.456e+005 (既に10文字でオーバー) となってしまい、指数部の桁数が3桁になってしまうと 有効数字部分が少なくなってしまうので、 指数部を、1桁にする方法はあるのでしょうか? こんな感じで出力できるでしょうか? data = 6.456e+5

  • アナログデータの保存

    ふと思ったのですが、何らかの実験とかでアナログデータが出力されるときに保管する方法として、 最高の品質(一部を指数関数的に拡大してもほぼ完全に復元、スペクトル解析とかはしない)でとっておきたい場合どうするんですか? やっぱり観測できる限界までをデジタルに変換するんですか? アナログで保存するとしてもっとも精密な記憶装置はどんなものが使用されているんですか?

  • HP-UXのlsコマンドで日時書式を統一する方法

    一般的にUNIX系OSで ls -l コマンド実行した場合6ヶ月以上前に修正したファイルは、 時刻までは出力されません。 下記のような表示になってしまします。 # ls -l foo -rwxr-x--- 1 root root 3223 Nov 10 2004 foo このようなとき Linux だと 下記のようにlsコマドを実行するとファイルの修正日時に関わらず "YYYY/MM/DD HH:MI:SS"形式で表示してくれます。 ls -al --time-style=+'%Y/%m/%d %H:%M:%S' Solarisの場合でも ls -E コマンドを使えば、同じようなことができそうです。 しかし、HP-UXのlsコマンドの場合は、--time-style や -E オプションが使えません。 何か良い方法はないでしょうか? ls でなくとも ファイルのタイムスタンプが "YYYY/MM/DD HH:MI:SS"形式で取得できまれば、方法は問いません。

  • HP-UX(11.23)からDAT装置を認識したい

    こんにちは。宜しくお願いいたします。 ●HP-UX 11.23 OS 11iV2 の2台構成のサーバがあります。 両系からDAT装置をつないでいるのですが、DAT装置 標準のパスである /dev/rmt/0mnが存在しません。/devの下にrmt自体が存在しません。 # ioscan -fnC tape とコマンドを実行しても、何も出てきません。 DAT装置を認識する方法をご存知の方がいらっしゃいましたら 教えていただけませんでしょうか? 宜しくお願いいたします。