1

次のような日時スタンプがあります。

 07/May/2012:00:00:01

日付と時刻の間のコロンを削除し、スペースに置き換えたいと思います。

私は試します:

sed -e 's/....:../.... ../g' local.csv > local07_nocolon.csv

しかし、それは私に与えます:

07/May/.... ..:00:01

ヒントをいただければ幸いです....

4

4 に答える 4

2

最初のコロンだけを削除したいのですが、これを試してみてください

echo "07/May/2012:00:00:01" | sed 's/:/ /'

すべてのコロンを削除する必要がある場合は、これを使用します

echo "07/May/2012:00:00:01" | sed 's/:/ /g'
于 2012-05-16T08:51:47.650 に答える
1

キャプチャ グループと後方参照を使用します (数字のみが一致するようにしてください)。

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ことを忘れていました。これで動作するはずです。

于 2012-05-16T08:51:02.623 に答える
0

以下の sed コマンドは、グローバル置換フラグ「g」を使用して、すべての : を " " に置き換えます。

sed 's/:/ /g' local.csv > local07_nocolon.csv

ファイルの出力は次の形式になります。

07/May/2012 00 00 01
于 2012-05-16T09:10:57.107 に答える
0

これはあなたのために働くかもしれません:

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
于 2012-05-16T12:47:52.133 に答える