dポイントプレゼントキャンペーン実施中!

はじめまして。
linux初心者です。

ファイルの中のNULL文字(\N)を "" に置き換えたいのですが、どうすればよいのでしょうか?

sedコマンドを利用すれば、できそうなのですが、NULLと””をどのように記述すればよいのか
わかりません。
crontab で 定期的に流したいので コマンド がいいのですが、他のやり方でも構いません。
宜しくお願いします。

A 回答 (3件)

つまりテキストファイル中にある「\N」という2文字からなる文字列を削除したいということですね。


そうであれば、
sed -e 's/\\N//g' in.txt > out.txt
または
perl -pe 's/\\N//g' in.txt > out.txt
でどうでしょうか?
    • good
    • 0
この回答へのお礼

ありがとうございました。
うまくいきました!

お礼日時:2006/10/30 09:40

#1です。


ちょっと間違えました。訂正します("<"抜け)

tr -d "\000" < NULL_include_text.txt > output.txt
tr -d "\n" < NL_include_text.txt > output.txt
tr -d "\r\n" < CRNL_include_text.txt > output.txt

この回答への補足

shuyamakawa さん、ありがとうございます。

tr -d "\N" < NL_include_text.txt > output.txt

とコマンドしたところ、N は消えたのですが
\(バックスラッシュ) だけ残った状態でファイルが作成されました。
\N を削除したいのですが、どうすればよいでしょうか?

補足日時:2006/10/27 17:33
    • good
    • 1

> ファイルの中のNULL文字(\N)を "" に置き換えたいのですが、どうすればよいのでしょうか?



「NULL文字」とは、文字コードが0である文字(「\0」)のことですか?
それとも改行文字(「\n」)のことですか?
どちらにしろ指定した文字を消すのに、trコマンドを使用してみたらいかがでしょうか?

tr -d "\000" NULL_include_text.txt > output.txt
tr -d "\n" NL_include_text.txt > output.txt
tr -d "\r\n" CRNL_include_text.txt > output.txt
    • good
    • 1

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

このQ&Aを見た人はこんなQ&Aも見ています