- ベストアンサー
データ代入方法について
以下のデータ内容の","と","の間にデータがない時は、"-"を代入する方法を教えてください。 (できれば、Solarisの標準コマンドで。) <data> user1,user1@mail.co.jp,taro,123-456,太郎, user2,,hanako,,花子, user3,,,一郎, <data変換後> user1,user1@mail.co.jp,taro,123-456,太郎, user2,-,hanako,-,花子, user3,-,-,-,一郎,
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
sedの条件付gotoを使って sed ':X;s/,,/,-,/g;t X' indata >outdata tを使うと置換が実行されたときだけ goto X されます。 もしかしたら、; が使えずにコマンドを別々に、 sed -e :X -e s/,,/,-,/g -e 't X' indata >outdata と書かないといけないかもしれません。
その他の回答 (2)
- utakataXEX
- ベストアンサー率69% (711/1018)
回答No.2
ファイル名が mydata だとして cat mydata | sed -e "s/,,,/,-,-,/g" | sed -e "s/,,/,-,/g">newdata いきなりmydataにリダイレクトしてもOKだけど、一応確認してね。 ",,"の重複数が不定の場合は、シェルでループするとか工夫が必要。 (ワンライナーでも行けると思うけど思い浮かばなかった。どなたかお願いします)
- hana-hana3
- ベストアンサー率31% (4940/15541)
回答No.1
言語は何でしょう?