次のような日時スタンプがあります。
07/May/2012:00:00:01
日付と時刻の間のコロンを削除し、スペースに置き換えたいと思います。
私は試します:
sed -e 's/....:../.... ../g' local.csv > local07_nocolon.csv
しかし、それは私に与えます:
07/May/.... ..:00:01
ヒントをいただければ幸いです....
最初のコロンだけを削除したいのですが、これを試してみてください
echo "07/May/2012:00:00:01" | sed 's/:/ /'
すべてのコロンを削除する必要がある場合は、これを使用します
echo "07/May/2012:00:00:01" | sed 's/:/ /g'
キャプチャ グループと後方参照を使用します (数字のみが一致するようにしてください)。
sed -e 's/\([0-9][0-9][0-9][0-9]\):\([0-9][0-9]\)/\1 \2/g' local.csv > local07_nocolon.csv
編集: POSIX ERE が短縮形をサポートしていない\d
ことを忘れていました。これで動作するはずです。
以下の sed コマンドは、グローバル置換フラグ「g」を使用して、すべての : を " " に置き換えます。
sed 's/:/ /g' local.csv > local07_nocolon.csv
ファイルの出力は次の形式になります。
07/May/2012 00 00 01
これはあなたのために働くかもしれません:
echo "07/May/2012:00:00:01" | sed 's/\([0-9]\{4\}\):/\1 /g' file
07/May/2012 00:00:01
また:
echo "07/May/2012:00:00:01" | sed 's/\([[:digit:]]\{4\}\):/\1 /g'
07/May/2012 00:00:01