[#43255] rubygems で zlib(LoadError) — "Hideo Konami" <konami@...>
小波です。この問題は既出のような気がしたのですが,過去ログでは見つけられ
9 messages
2007/03/06
[#43271] rails がこけます — "Hideo Konami" <konami@...>
小波です。
15 messages
2007/03/18
[#43273] Re: rails がこけます
— 山崎雄介 <y-yamasaki@...>
2007/03/19
山崎です。
[#43274] rubyスクリプト内で、unixコマンドを実行
— 上間 健 <mugenkai15@...>
2007/03/19
こんにちは、上間です。
[#43275] Re: rubyスクリプト内で、unixコマンドを実行
— 石井 大海 <banzaida@...>
2007/03/19
お久しぶりです、konnです。
[#43277] Re: rubyスクリプト内で、unixコマンドを実行
— 石井 大海 <banzaida@...>
2007/03/19
あーっとしまった。すいません訂正間違いが。
[#43286] モジュールのinclude先の名前 — Sato Hiroshi <hirocy.f01@...>
hirocyです.
23 messages
2007/03/22
[#43290] system(wget url) について
— Kyoko Sato <k.sato@...>
2007/03/22
お世話になっております。佐藤です。
[#43291] Re: system(wget url) について
— Yukiharu Yabuki <yabuki@...>
2007/03/22
こんにちは
[#43293] Re: system(wget url) について
— Kyoko Sato <k.sato@...>
2007/03/22
矢吹さん有難うございます。佐藤です。
[#43294] Re: system(wget url) について
— Yukihiro Matsumoto <matz@...>
2007/03/22
まつもと ゆきひろです
[#43295] Re: system(wget url) について
— Kyoko Sato <k.sato@...>
2007/03/22
まつもとゆきひろさん有難うございます。佐藤です。
[#43297] Re: system(wget url) について
— Yukihiro Matsumoto <matz@...>
2007/03/22
まつもと ゆきひろです
[#43299] Re: system(wget url) について
— Kyoko Sato <k.sato@...>
2007/03/22
佐藤です。
[#43300] Re: system(wget url) について
— Yukihiro Matsumoto <matz@...>
2007/03/22
まつもと ゆきひろです
[#43302] Re: system(wget url) について
— Kyoko Sato <k.sato@...>
2007/03/22
すみません。。。佐藤です。
[#43298] TMailでデコードエラー — OSHIRO Naoki <oshiro@...>
大城と申します.
5 messages
2007/03/22
[#43326] cgi/sessionの使いかた — NAWATE Masahiko <eye-shield_21@...>
縄手@松江です.
8 messages
2007/03/29
[ruby-list:43283] Re: rubyスクリプト内で、unixコマ
From:
上間 健 <mugenkai15@...>
Date:
2007-03-19 11:39:56 UTC
List:
ruby-list #43283
ありがとうございます
上間です。
おっしゃる通り
> どうも \r\n という並びを \n にしたいのじゃないかなあという感じ
改行コード CRLF → LF へ変換するつもりです。
>>> system "cat " + path + ' | tr "\r\n" "\n" > ' + path + "2"
において、改行コードは、 CRLF → LFLF になってしまいます。ね!
> tr -d '\r'
を使ってみます。
木村さまの参考スクリプト実行できました。(感謝感謝!!)
木村さまのご指摘の tr -d '\r' を参考に、スクリプト完成しました。
-----------------------------------------
crlf2lf.rb-------------------------------------------------begin
#!/usr/local/bin/ruby
require "find"
require "fileutils"
# 引数の(処理するディレクトリの)絶対パス
src_path = File.expand_path(ARGV[0])
# 絶対パスを"/" で分割した配列
src_path_list = src_path.split("/")
# 絶対パスを"/" で分割した数
src_path_size = src_path_list.size
# ベースとなる作成保存場所のパス
base_path = src_path_list[0..-2].join("/") + "/tmp/"
Find.find(src_path) {|path|
dst_path = base_path + path.split("/")[src_path_size-1..-1].join("/")
if FileTest.directory?(path)
FileUtils.mkdir_p( dst_path)
else
unless path =~ /jpg$/ or path =~ /png$/ or path =~ /gif$/
system "cat " + path + ' | tr -d "\r" > ' + dst_path
system "chmod 777 " + dst_path
else
FileUtils.cp(path, dst_path, :preserve=>true)
end
end
}
-----------------------------------------
crlf2lf.rb-------------------------------------------------end
On 2007/03/19, at 19:08, KIMURA Koichi wrote:
> 木村です。
>
> 既に解決したところに余計なことかもしれませんが
>
> On Mon, 19 Mar 2007 14:53:33 +0900
> 上間 健 <mugenkai15@otc.ne.jp> wrote:
>
>>> system "cat " + path + ' | tr "\r\n" "\n" > ' + path + "2"
>> で問題解決できそうです。
>
> これ、tr でなにをやろうとしているのでしょうか?
> tr にこのパラメータを渡した場合
>
> \r → \n に置き換える
> \n → \n に置き換える(実質そのまま)
>
> となって、(LF区切りとして)改行が二重になってしまいますけど
> いいんですか?
>
> どうも \r\n という並びを \n にしたいのじゃないかなあという感じ
> を受けるのですけど、勘違いだったらごめんなさい。
>
> もし \r を削除したいということなら
> tr -d '\r'
> でいいと思います。
>
> で再帰的に処理する方法についてですけど、こういう方法はどうでしょう?
>
> require 'find'
>
> def do_replace(x)
> dir = File.dirname(x)
> src = File.basename(x)
> dest = src + '2'
>
> #system "cd #{dir} ; cat #{src} | tr -d '\\r' > #{dest}"
> puts "cd #{dir} ; cat #{src} | tr -d '\\r' > #{dest}" # デバッグ用
> end
>
> target = ARGV.shift || '/path/to/dir/'
>
> Find.find(target) do |x|
> do_replace x
> end
>
> 上記のスクリプトでは system 経由で trを呼び出してますけど、もちろん
> Ruby自体にやらせてもまったく問題はないです。
>
> スクリプトを起動するときに、処理対象のディレクトリの名前を与えれば
> よいです(上の例ではデフォルトのディレクトリを設定していますが)。
>
> --
> 木村浩一
>
>