アプリ版:「スタンプのみでお礼する」機能のリリースについて

複数の空白を一つのタブに変換したいです。awk?perl?
以下、
空白を*
タブを→で表します。

以下のような内容のファイルがあります。
******1.00*171.587600
******2.00*169.399074
******3.00*175.825399
******4.00*172.346719

***4998.00*165.252400
***4999.00*166.219166
***5000.00*166.581150

(場合によっては数万行になります)

これを

→1.00→171.587600
→2.00→169.399074
→3.00→175.825399
→4.00→172.346719

→4998.00→165.252400
→4999.00→166.219166
→5000.00→166.581150

ないしは

1.00→171.587600
2.00→169.399074
3.00→175.825399
4.00→172.346719

4998.00→165.252400
4999.00→166.219166
5000.00→166.581150

という形に変えたいです。
恐らくperlやawkを用いて出来ると思うのですが、どうすればよいのかわかりませんので教えていただけるとありがたいです。

A 回答 (3件)

Perl なら


perl -pe 's/\s+/\t/g'
\ は重ねる必要があるかもしれないしないかもしれない.
    • good
    • 1
この回答へのお礼

ありがとうございました。
よく考えてみると、私、perlの使い方よくわかっておりませんで、生かすことができませんでした。
しっかりと勉強します。

お礼日時:2010/09/08 18:46

一番単純なコマンドでは、



tr -s ' ' '\t' <infile >outfile

ですね。あるいは、

sed 's/ */\t/g' infile >outfile
    • good
    • 1
この回答へのお礼

上のコマンドで解決しました。
下のコマンドでは、

→1→.→0→0→1→7→1→.→5→8→7→6→0→0
といった感じになりました。
ありがとうございました。

お礼日時:2010/09/08 18:49

>下のコマンドでは、



下のコマンドの s/ の後は空白2つです。そのままコピペしてもらえば良かったんですが。
    • good
    • 0
この回答へのお礼

遅くなってすみません。
ありがとうございます。おっしゃる通りにしたらできました。
少し言い訳をさせていただくと、教えて!gooでは、投稿複数の空白を一つの空白にまとめてしまうことがあるように感じます。
しかしこちらの状況も的確に理解していただいて、なおかつ正しいコマンドを教えていただけるとは、ただただ感服しております。

お礼日時:2010/09/14 11:34

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