[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:36682] Re: ファイルの改行コードについて



At Mon, 7 Apr 2003 16:30:14 +0900,
横山貴士 wrote:
> 記載してあるのをみつけて、試したところ全て変換後のファイルの内容が
> なくなって(ファイルはあるがソースコードの記述がない)いました。
> 1.
> $ sed -e 's/^M$//' <変換前ファイル名.cgi> 変換後ファイル名cgi
> 2.
> $ tr -d '\r' <変換前ファイル名.cgi> 変換後ファイル名.cgi
> 3.
> $ perl -p -e 's/\r//' <変換前ファイル名.cgi> 変換後ファイル名.cgi
> 
> 上記の変換前ファイル名と変換後ファイル名は同一名を指定しました。

例: perl -p -e 's/\r//' <foo.cgi >foo.cgi

(1) foo.cgi を読み出しオープン
(2) 標準入力に (1) をファイル記述子をコピー
(3) foo.cgi をサイズ 0 にして書き込みオープン
(4) 標準出力に (3) のファイル記述子をコピー
(5) perl を起動

となるので、(3) の時点で foo.cgi の中身は空になります。

別名のファイル名に出力するか、
    perl -i -p -e 's/\r//' foo.cgi
としましょう。意味は Perl のマニュアルを参照のこと。
(perlrun(1) に載っています)

バックアップファイルを残したいなら
    perl -i.bak -p -e 's/\r//' foo.cgi
などとする。

-- 
-- Name: SATOH Fumiyasu  -- Home: http://www.sfo.jp (in Japanese only)
-- Mail: fumiya @net-thrust.com, @samba.gr.jp, @namazu.org or ...