68user's page 掲示板

Prev< No. 4426〜4452> Next  [最新発言に戻る] [過去ログ一覧]
No. 4426 # shin1 2005/12/16 (金) 00:33:37
こんばんは。初めて質問させていただきます。
AIXのサーバ上で「各レコードに改行コードが付いておらずファイルの最後に
EOF(0a00)だけが付いているファイル」を2個連結したいのですが、
単純にcatで連結すると、2つのファイルのレコードの間に(0a)が入ってしまいます。
(例)
ファイル1→  xxxx0a00
ファイル2→  yyyy0a00   の場合
cat ファイル1 ファイル2 > ファイル3 とすると
ファイル3→  xxxx0ayyyy0a00  となってしまうが、実は以下のようにしたい

ファイル3→  xxxxyyyy0a00

シェルまたはコマンドを用いて(C言語でプログラミングしない)で、
簡単に上記の形でファイルを連結する方法がありましたら教えて頂けないでしょうか?
よろしくお願いします。

No. 4427 # 68user 2005/12/16 (金) 01:53:00
>>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 とか
を使えばできるのではないかと思います。

No. 4428 # kevin 2005/12/16 (金) 17:37:44
教えてください。DOSのコマンドで、チェックサムを自動で
計算するコマンドはあるのでしょうか?
例)JX12345-04のチェックサム(E0)を知りたい場合

No. 4429 # tamama 2005/12/17 (土) 17:53:52
こんにちは、初めて質問させていただきます。
こちらに載っているOpenSSLを用いたRSA暗号を動かして見たいので、
Windows上でのOpenSSLのインストールの仕方を教えてもらえませんか。
OSはXPでVisual C++.NETを使っています。

No. 4430 # tamama 2005/12/18 (日) 14:10:38
お騒がせしました。
自己解決しました。

No. 4431 # まっちゅう@ペガサス流星拳 2005/12/21 (水) 14:11:13
こんにちは!!
HP-UNIXなんですが、どなたか教えてください。
lsコマンドのタイムスタンプを常に西暦を表示するようにしたいのですが
そのままls -l では直近6ヵ月未満までは西暦がでません。
該当するオプションがあるのでしょうか?
ちなみに-Tはだめでした。
よろしくお願いします。

No. 4432 # 68user 2005/12/22 (木) 13:15:43
>>4431 まっちゅう@ペガサス流星拳
HP-UX 標準の ls では無理だと思います。代案としては、
    - tar cf - ファイル | tar tvf -
    - sed で置換
    - perl などを使う
など。

No. 4433 # fan 2005/12/22 (木) 15:05:38
ありがとうございます。
運良くFinishedメッセージは解決できました。
その次のAppricationDataの暗号化で質問があるのですが、
SSLCompressedが良く分からないです。
もし、ご存知なら、教えていただけないでしょうか。
お願いします。お願いします。

No. 4434 # まっちゅう@ペガサス流星拳 2005/12/22 (木) 17:23:10
やっぱり無理ですか。。。。
代案までありがとうございました。

No. 4435 # hagu 2005/12/24 (土) 15:23:32
tarコマンドで、コマンドの実行ディレクトリからサブディレクトリも含めて、
ワイルドカードで指定したファイル、例えば、「*.txt」の様に指定して、
すべてのファイルを1つのアーカイブにまとめたいのですが、可能なので
しょうか。
ディレクトリも含めたかたちにしたいのですが。

tar -cvf aaa.tar *.txt だと、直下のファイルのみ
tar -cvf aaa.tar *.* だと、すべてのファイル

No. 4436 # zsh 2005/12/24 (土) 22:29:16
>>4435 hagu
いくつか方法はあると思いますが、
$ find . -name "*.txt" | xargs tar cvf outfile.tar
等とすればできます。

No. 4437 # hagu 2005/12/24 (土) 23:07:40
>> 4436

ありがとうございます。
試してみます。

No. 4438 # 68user 2005/12/25 (日) 22:17:24
>>4436 zsh
Solaris の xargs (だったような気がしますが) は、LINE_MAX の長さがかなり
短くて、たしか 10KB 程度しかなかったような気がします。この使い方だと
複数回 tar コマンドが実行された場合、最後の方しかアーカイブに含まれない
ので注意が必要です。

No. 4439 # DNS勉強中 2005/12/26 (月) 00:16:19
>>4408 68user
亀レスすいません。
DNS のプログラミングのアドバイスをしていただいたものです。
出張先の住まいがレオパレスでネット環境があると聞いていたので、
すぐに閲覧できると思いましたが、いろいろ問題があり今までかかりました。
今後は普通に対応できると思います。
よろしくお願いします。

No. 4440 # zsh 2005/12/26 (月) 10:44:00
>>4438 68user
ご指摘ありがとうございます。
確かに複数回実行された場合の考慮が漏れていました。
ちなみに、Solaris の LINE_MAX の値は 2KB のようです。

No. 4441 # hagu 2005/12/26 (月) 11:49:22
>>4438 68user
>>4440 zsh

試して見ました。
ご指摘の通りでした。

標準出力には、すべて出てきましたが、
最後の方しかアーカイブに含まれていませんでした。

どう対応すればよいのですか。

No. 4442 # とーりすがり 2005/12/26 (月) 22:08:58
>>4441 hagu

カナリ遅いですが.

cat /dev/null>outfile.tar && find . -name "*.txt" | while read F in; do tar rvf outfile.tar "$F"; done

No. 4443 # 不明5号 2005/12/26 (月) 22:55:20
サーバーアドレスの見方はどうすれば??教えてください!

No. 4444 # zsh 2005/12/26 (月) 23:37:46
>>4441 hagu
試してませんが、
$ find . -name "*.txt" | xargs tar rvf outfile.tar
でいけると思います。
(tar は r を指定すると追記になります。)

No. 4445 # 68user 2005/12/27 (火) 00:30:52
>>4439 DNS勉強中
宣言した「今月中」もあと残すところ 6日。一度言ったことは守れよ、と
自分にプレッシャーをかける毎日です。

>>4441 hagu
その他。
    - tar cf outfile.tar `find . -name "*.txt"`
        (長すぎると Argument list too long になるが、エラーかどうかがはっきり
          わかるので使えなくもない)
    - tar の、ファイル名一覧をファイルから取得するオプションを使う。

>>4443 不明5号
質問の意味がわかりません。

No. 4446 # 2005/12/28 (水) 00:16:05
>>4445 68user
>>4444 zsh

ありがとうございます。
試してみます。

>tar の、ファイル名一覧をファイルから取得するオプションを使う。
探して見たのですが、使い方がわかりませんでした。
使い方教えてください。

No. 4447 # hagu 2005/12/28 (水) 00:17:47
>>4445 68user
>>4444 zsh

ゴミすみません。
名前のところに”お”が入ったままで書いてしまった。

ありがとうございます。
試してみます。

>tar の、ファイル名一覧をファイルから取得するオプションを使う。
探して見たのですが、使い方がわかりませんでした。
使い方教えてください。

No. 4448 # 68user 2005/12/28 (水) 03:44:29
>>4447 hagu
http://x68000.q-e-d.net/~68user/cgi-bin/wwwboard.cgi?howtouse にあるように、
OS 名を明らかにすれば期待する回答が返ってくる可能性が高まると思われます。

No. 4449 # hagu 2005/12/29 (木) 09:27:24
>>4448 68user

すみません。
UNIXで、Solaris8 です。

No. 4450 # zsh 2005/12/29 (木) 11:07:56
>>4449 hagu
man tar で出てきますが・・・
http://docs.sun.com/app/docs/doc/816-3518/6m9ptvr58?l=ja&a=view

No. 4451 # 68user 2005/12/29 (木) 13:06:57
>>4449 hagu
具体的には
    % find . -name "*.txt" > filelist.txt
    % tar cf outfile.tar -I filelist.txt
てな感じで。手元に Solaris がないので動くかどうかはわかりません。

No. 4452 # 68user 2005/12/31 (土) 18:25:28
>>4404 DNS勉強中
> resolver-1.pl 互換を目指した Linux 版
> http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/1160.zip
今月中にと宣言したのでレビューをしようとしたのですが、上記ファイルが
not found になっていて見ることができませんでした。

自宅のマシンには以前ダウンロードしたファイルがあるかもしれませんが、
今は出先なので見ることができません。もたもたしていてすみません。

とりあえず、1関数 1ソースはやめた方がよいとわたしは考えます。普通は
    プログラム全体 > モジュール > 関数 > ブロック
という階層構造があり、例えば変数については
    - グローバル変数にする
    - ファイル内で static としてそのソース内 (モジュール) からのみ参照できるようにする
    - 関数内のローカル変数にする
などの選択肢がありますが、1関数 1ソースだと、ここで言うモジュールという
選択肢がなくなってしまいます。

あとは Makefile を書くのがダルい、というデメリットもありますね。

Prev< No. 4426〜4452> Next  [最新発言に戻る] [過去ログ一覧]