|
awkを使用してカンマ区切りのCSV形式のファイルから指定したフィールド位置 の値を取得しようとしているのですが、以下の様にするとファイル名までが 表示されてしまいます。 正しく、表示するよにはどうしたらいいのですか。 実際には、以下の様に出力されます。 ファイル名:20051201 : 1 ファイル名:20051202 : 3 を以下の様に出力したいのです。 20051201 : 1 20051202 : 3 環境は、Solaris8i Bシェル -------------------- ファイル 年月,名前,ID,値1,値2,値3 20051201,山田 太郎,001,1,1,1 20051201,山田 花子,001,1,2,10 ------------------- 第1パラメータ:年月(YYYYMM) 第2パラメータ:ID -------------------- #!/bin/sh # grep $2 ./$1/DiskCapacityTotal_Daily_$1*.csv | awk -F"," '{printf("%s : %s\n",$1,$4)}' ---------------------- |
|
>>4409 hagu grep に -h オプションを付けるとか、sed で s/^[^:]*// するとか。 |
|
>>4409 hagu FreeBSDでやってみたら、正しく表示されましたが。。 |
|
>>4410 68user >>4411 yasu ありがとうございます。 $1ではなく、$2とか$3と指定すると正しく表示されます。 ファイル名がててきません。 grep $2 ./$1/DiskCapacityTotal_Daily_$1*.csv | awk -F"," '{printf("%s : %s\n",$2,$4)} |
|
>>4409 hagu grep $2 ./$1/DiskCapacityTotal_Daily_$1*.csv | awk -F"," '{printf("%s : %s\n",$1,$4)' | sed 's/^[^:]*//' としたとき、ファイル名は消えたのですが、 $1の値を表示した際、前に「:」が残ります。 消したいのですが。 ------------ :20051201 : 1 :20051202 : 3 となります。 |
|
>>4413 だん ・・・・まあgrep自体なくても出来るというのは置いといて。 そもそも「ファイル名:」を付加しているのはgrepなんだから、 4410で68userさんが仰っているように、 grepに-hオプションをつけるだけだと思いますが、 こちらは試しましたか? |
|
>>No. 4408 68user 回答ありがとうございました。 HTTPでのお試しソースにはConnection: keep-aliveがあって、 HTTPSの方では抜けているのに気がついていませんでした。 HTTPの方でも判ってて書いてたわけではないので、 リクエストについてもっと調べてみます。 |
|
はじめまして。 ここのソースを参考にさせてもらい、Mac OSX用のFTPクライアントを以前作りました。 今回、POPクライアントを作ろうと思うのですが、C言語で書かれたシンプルなPOPクライアント のソースってないもんでしょうか? 今のところネットを検索していて、 http://www.oss-watch.ac.uk/resources/emailclients.xml にあった、mutt-1.5.10というのがまあまあかと見ていますが、やや面倒。 よろしくお願いします。 |
|
>>4416 はる fetchmail の前身である popclient はどうでしょうね。 http://www.interlog.com/~esmith/flames/pop.html から popclient-2.21 が落とせますが、手ごろなサイズで、それなりにソースも キレイではないかと思います。 % wc -l *.[ch] 58 config.h 535 pop2.c 533 pop3.c 592 popclient.c 93 popclient.h 175 socket.c 71 socket.h 2057 合計 手元の Linux でコンパイルすると可変長引数あたりでこけましたが、適当に直せば 動くでしょう。 |
|
>>4417 68userさん これよさそうですね。 cソースが4つしかないし、pop3.cだけ見ていれば分かりそう。 コンパイルは通らなくてもOKです。これを元にいじってしまいますから。 どうもありがとうございます! |
|
こんにちわ。 シェルにて簡単なメニュー画面作成しているのですが、 一点困ったところがあるので教えてください。 本シェルはrshによって呼び出されていて親シェルとは違うサーバで起動しています。 メニュー画面という事で画面上の掃除のためclearコマンドを使用しているのですが、 rshで呼び出された場合はclear処理が行われておりません。 ローカルでの実行では勿論問題なくclearされます。 rshにて実行する場合画面のclear方法などがご存知でしたら教えてください。 よろしくお願いします。 |
|
>>4419 KA 状況がよくわかりませんが (rsh でコマンドを指定せず実質的には rlogin を 使用するのと同じなのかとか、rsh 先で端末が割り当てられているのかとか、 端末の種類が違うだけなのかとか)、とりあえず % clear > clear.txt としてシーケンスを保存しておき、そのデータを出力してはどうでしょうか。 |
|
cronの変更方法を教えて下さい。 Cシェルの場合は以下コマンドでviが開きます。 setenv EDITOR vi cd /var/spool/cron/crontabs crontab -e root shシェルの場合はsetenvが使用できないので 以下コマンドを使いましたが982とか数字がでてきてviが開きません。 EDITOR=vi export EDITOR cd /var/spool/cron/crontabs crontab -e root shシェルでのcrontab -e rootの起動はどうづれば良いのでしょうか。 |
|
cronの編集について教えて下さい。 Cシェルの場合は以下の方法で編集しています。これでviが起動できます。 setenv EDITOR vi cd /var/spool/cron/crontabs crontab -e root shシェルの場合、以下コマンドを使用しましたがWAIT状態になりviが起動 できません。起動の方法を教えて下さい。 EDITOR=vi export EDITOR cd /var/spool/cron/crontabs crontab -e root |
|
初めて質問させていただきます。よろしくお願いします。 マシンはUNIX(日立:HI-UX/WE2)です。 cronで1分間隔でシェルを起動しているのですが、mail情報を 削除していなかったため、大量に溜まってしまい「out of i-nodes」の メッセーシ゛が出力され、dfコマント゛で確認するとi-nodesが0となっていました。 /usr/spool/mqueueには50万件のmailがたまっています。 また、mailboxも大量にたまり、mailbox.lockというlockファイルができています。 上記内容について、対処方法がありましたら教えてください。 (cronでmail情報を制御する方法は当ホームページで理解できました。) 以上 よろしくお願いします。 |
|
>>4422 cafe 手順としては間違っていないと思います (cd は不要ですが)。何がどうなっていて WAIT 状態と判断したのかわからないので、これ以上は何とも言えませんが、普通に % vi 適当なファイル名 で編集はできないのなら vi の問題でしょう。 >>4423 久 ファイル数が多すぎるので、df で i-node が full になっているファイルシステム内の ファイルを削除してください。 > mailboxも大量にたまり、mailbox.lockというlockファイルができています。 おそらく dotlock なファイルでしょうけど、いつまでたっても消えないなら 消していいと思います (心配なら MTA などのサーバ類を終了してから)。 |
|
回答ありがとうございました。無事RSAの確認できました。 sslv3のFinishedメッセージのことで質問ですが、 ClientKeyExchangeの後のEncrypted HandshakeはFinishedのことでそうか。 あと、Finishedメッセージはmd5_hash[16]+sha_hash[20]と他に何がついてますか。 あと、md5_hash[16]+sha_hash[20]の値が一致しないのですが、何かアドバイスを いただけないでしょうか。 宜しくお願いします。 |
|
こんばんは。初めて質問させていただきます。 AIXのサーバ上で「各レコードに改行コードが付いておらずファイルの最後に EOF(0a00)だけが付いているファイル」を2個連結したいのですが、 単純にcatで連結すると、2つのファイルのレコードの間に(0a)が入ってしまいます。 (例) ファイル1→ xxxx0a00 ファイル2→ yyyy0a00 の場合 cat ファイル1 ファイル2 > ファイル3 とすると ファイル3→ xxxx0ayyyy0a00 となってしまうが、実は以下のようにしたい ファイル3→ xxxxyyyy0a00 シェルまたはコマンドを用いて(C言語でプログラミングしない)で、 簡単に上記の形でファイルを連結する方法がありましたら教えて頂けないでしょうか? よろしくお願いします。 |
|
>>4425 fan SSL クライアントを実装したことがないのでわかりません (短めのサンプル ソースを出してもらえばわかるかもしれませんし、やっぱりわからないかも しれません)。 >>4426 shin1 > AIXのサーバ上で「各レコードに改行コードが付いておらずファイルの最後に > EOF(0a00)だけが付いているファイル」を2個連結したいのですが、 0x0A は LF、0x00 は NULL 文字で、EOF ではありません。 コントロールコードにおける EOF は 0x1A です (が、UNIX や Windows で 別にファイル終端コードとしての意味を持つわけではない)。 というわけで何を削除したいのかよくわかりませんが、0x1A ならば http://x68000.q-e-d.net/~68user/unix/pickup?tr など。 0x0A ならば、他の LF も削除してしまうと困るでしょうから、最後の 1バイトを削るのがよいでしょう。sed とか head とか dd とか perl とか を使えばできるのではないかと思います。 |