ちょっと教えてほしいんですが・・・

HP-UXでファイルの中に書いているデータを0バイトにしたいのです。

例えば、

testっていうログファイルに100行のデータが書かれている場合、そのtestというログファイルを削除せずに、中身だけを消したいのです。

どなたか、いいやり方を知っている方、教えてください。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

単純には


 cp /dev/null ファイル名   とか
 > ファイル名
を実行すれば、ファイルを消さずに中身を0バイトにできますが、何かの
プログラムがそのファイルを書き込み用にオープンしている場合は、これを
やると、その後の書き込みデータがおかしくなる可能性があります。
その場合は、そのプログラム自身で ftruncate 関数などを使って中身を消す
必要があります。
    • good
    • 0
この回答へのお礼

ありがとうございます。
よくよく考えたら単純なことだったんですね。
ファイルは単なるログの出力先なので、これで大丈夫だと思います。
しかも、パージするときは、ログを出力するアプリケーションは動作していないので。。。
ありがとうございました。

お礼日時:2001/07/12 15:46

test > /dev/null



ってのは、どうでしょう??
ちなみにSun-OSですけど・・・・・
古いすぎ・・。

この回答への補足

すいません。
もうちょっと詳しく教えてもらえませんか?

補足日時:2001/07/12 15:32
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

QHP-UXで、ログイン時のログを採取する方法

HP-UXを使用しています。
ログイン時のログをとりたいのですが、
なにかよい方法はないでしょうか?

Aベストアンサー

う~ん...
.profileの実行結果ですか.

Console上での実行でなくてもよければ,端末ソフトのログ機能をつかったり,スクロール領域を大きくとってあとでカット&ペーストするとかできそうなきがしますが.

QHP-UXにopensshでパスワード無しログイン

ローカル(A)からリモート(B) にsshでパスワード無しの自動ログインをしようとしています.
A:RedHat Linux 9, B:HP-UX(B.11.11)

○現状

・Aにはrpmでopenssh-clients-3.5p1-11がインストールされています.
・Aにおいて,ssh-keygen -t dsa でパスフレーズ無しの鍵ペアを~/.ssh以下に作成
・Aで作成した~/.ssh/id_dsa.pubをBの ~/.ssh/ 以下に authorized_keys としてコピー

関連ファイル,ディレクトリのパーミションはA,B共に以下のとおり.

~/.ssh/(700)
~/.ssh/id_dsa(600)
~/.ssh/id_dsa.pub(644)
~/.ssh/authorized_keys(644)

Bには以下の手順でopenssl, openssh をインストール後,/usr/local/sbin/sshd でsshdを起動してあります.設定ファイルは変更していません.

・openssl-0.9.6c
./config && make && make test && make install

・openssh-3.7.1p2
./configure && make && make install

○問題

AからBにsshで接続するとパスワードを聞かれてしまう.

Bにopensshをインストールした際,何か,configure オプションや必要なライブラリが不足したりしているのでしょうか?

ローカル(A)からリモート(B) にsshでパスワード無しの自動ログインをしようとしています.
A:RedHat Linux 9, B:HP-UX(B.11.11)

○現状

・Aにはrpmでopenssh-clients-3.5p1-11がインストールされています.
・Aにおいて,ssh-keygen -t dsa でパスフレーズ無しの鍵ペアを~/.ssh以下に作成
・Aで作成した~/.ssh/id_dsa.pubをBの ~/.ssh/ 以下に authorized_keys としてコピー

関連ファイル,ディレクトリのパーミションはA,B共に以下のとおり.

~/.ssh/(700)
~/.ssh/id_dsa(600)
~/.ssh/id_...続きを読む

Aベストアンサー

うちのsshd_configで注釈でない行です。参考にしてみてください。
Windows側(putty)からRedhat9にDSAでパスワードなしでログインできています。


Port 22
Protocol 2
HostKey /etc/ssh/ssh_host_dsa_key
SyslogFacility AUTHPRIV
RSAAuthentication yes
PubkeyAuthentication yes
RhostsAuthentication no
PasswordAuthentication no
PermitEmptyPasswords no
KeepAlive yes
Subsystem sftp /usr/libexec/openssh/sftp-server

QHP-UXのログインするパスワードを知る方法について

会社にHP-UXで作成された古いシステムがあるのですが、ユーザのパスワードも分からない状態にあり困っています。SUのパスワードは分かりログイン可能なのですが、ユーザの方のパスワードを、なんとか表示させることはできないでしょうか?
システムのメンテ者も、もういなく、私も含めた使用者もほとんどUNIXの知識がなく困った状態にあります。

Aベストアンサー

 SUのパスワードが分かっているという事がパスワードを更新できる事とイコールなら、利用したいユーザーのパスワードを再設定すれば問題は解消すると思います。

 質問の正当な解凍であるパスワードを調べる事はパッキンする事をイコールなので、高度な技術がないと無理だと思います。

QXXX.pagファイルとXXX.dirファイルの中身が見たい。

拡張子が「pag」「dir」のファイルの中身を見たいのですが、どのようなコマンドを使えば
読むことが可能でしょうか?

使用しているOSは、Solaris8です。

宜しくお願いします!

Aベストアンサー

#3の方の言われるとおり,dbm形式のデータベースファイルだと思います。
dbmのデータとして読み出したいのであれば,下のようなPerlスクリプトを使えば出来ます。

#!/bin/perl
dbmopen(%dbmassoc, 'データベース名', undef);
while (($key, $val) = each %dbmassoc) {
print $key . "\t" . $val . "\n";
}
dbmclose(dbmassoc);

'データベース名'のところには,例えば /etc/aliases.pag や /etc/aliases.dir なら '/etc/aliases' を入れます。
このスクリプトでは,キーと値をタブで区切って出力しています。

そうじゃなくて,pagファイル,dirファイルそのものの中身が読みたいのであれば,バイナリビューアーなどを使えばよいと思います。私はbviewやhexeditなどのツールを使っています。OSに標準で含まれているツールではないので,どっかから探しだしてきてインストールしてください。

#3の方の言われるとおり,dbm形式のデータベースファイルだと思います。
dbmのデータとして読み出したいのであれば,下のようなPerlスクリプトを使えば出来ます。

#!/bin/perl
dbmopen(%dbmassoc, 'データベース名', undef);
while (($key, $val) = each %dbmassoc) {
print $key . "\t" . $val . "\n";
}
dbmclose(dbmassoc);

'データベース名'のところには,例えば /etc/aliases.pag や /etc/aliases.dir なら '/etc/aliases' を入れます。
このスクリプトでは,キーと値をタブで区切って出力...続きを読む

Qファイルの中身の操作について

今あるファイルの中身の読み込みに、

set EDPTODAY = `awk -F , '/$EDPCLND/ {print $5,$9}'`
echo $EDPTODAY

と書くと、構文エラーが出てしまいます。
","区切りなので、"awk -F , "と表記したのですが・・・
($EDPCLNDで宣言しているファイルの存在は確認しました。)
お解りの方、どうお宜しくお願いいたします。

Aベストアンサー

すみませんが、何をしたいのでしょう?

EDPCLNDというシェル変数にはファイル名が入っているのですか?
そのファイルは何行あるかわかりませんが、その第5, 第9フィールドを
全部とりだして、EDPTODAY にセットしたいのですか?

awk で /.../ というのは、そこに書かれたパターンにマッチした行について、
対応する { ... } の内容を実行しろということですので、
awk は標準入力に対して、$EDPCLND というパターンを探します。
でも、$ は行末にマッチする表現なので、
行末以降にある EDPCLND という文字列があるとは考えられないので、
たぶん、どの行にもマッチしないでしょう。

$EDPCLND が含むファイル名のファイルの中身を awk に読ませたいなら、
awk '/.../ {...}' $EDPCLND
となるのが普通です。
それ以外のことをしたいのなら、補足してください。


このカテゴリの人気Q&Aランキング

おすすめ情報