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

ユニークカウント uniq -c とすると、
カウント数<スペース>カウント対象物
例)
 10 ○○△△
  9 ○□
・・・
というデザインで出力されると思いますが、
この カウント数とカウント対象物の間のスペースをタブ区切りに変更するもっとも簡単なコマンドを教えてください。
なお、カウント対象物の中にもスペースが含まれており、そのスペースはタブ区切りにしたくはないので、あくまでも、カウント数とカウント対象物の間だけを変換したいのです。
よろしくお願いいたします。

A 回答 (3件)

こんな感じでしょうか。



… | uniq -c | sed 's/^ *//;s/ /\t/'

この回答への補足

これで実装すると、カウント対象物内のはじめのスペースもタブ区切りになってしまいました。これでは うまくいかないようです。

補足日時:2012/04/16 09:19
    • good
    • 0
この回答へのお礼

ファイルにミスがあり、再度実施しましたところ、うまくいきました。ありがとうございます。

お礼日時:2012/04/16 09:25

空白があって数字が続いた直後の空白をタブに。



~~ | uniq -c | sed 's/\( *[0-9]*\) /\1\t/'

先頭の空白を削除するなら、

~~ | uniq -c | sed 's/ *\([0-9]*\) /\1\t/'
    • good
    • 0
この回答へのお礼

このやり方でもうまくいきました。ありがとうございます。

お礼日時:2012/04/16 09:27

行頭 0個以上のスペースの列 1個以上の数字の列 1つのスペース



(0個以上のスペースの列 1個以上の数字の列 までを元の行から ) 1つのタブ
に置換すればいい。
シェルによってはタブ文字入れるのが面倒だったりするだけで、あとはsedでできる。
    • good
    • 0
この回答へのお礼

ありがとうございます。考え方は理解できましたが、この処理を簡単に実行するにはどうしたらよいか 悩んでおります。

お礼日時:2012/04/16 09:35

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