"sed" 日付形式の問題

データベースからファイルをインポートするためにシェルスクリプトを使用しています。シェルスクリプトを実行した後のデータは次のとおりです。パイプで区切られたデータファイル。

4676004||2017-09-2900:00:00|13222|0|XYZ|TTTTT||1855467|S|14671 

スプールを使用してファイルを生成した後にデータ型を指定するために実行したコマンドは、次のとおりです。

sed -i -E 's/[[:blank:]]+(||$)/\1/g' Test.txt.  

しかし問題は日付データ

2017-09-2900:00:00、これが必要です。2017-09-29 00:00:00

日付と時刻の間にスペースが必要です。どうすればいいですか?

ベストアンサー1

ただします。

sed 's/....-..-../& /' infile

xxxx-xx-xx常にフォーマットに一致するパターンがあるとします。

または、まずSQLで操作を実行するようにsubstrコマンドに指示する必要があります。select

select ... '|' || substr(mydate,1,10) || subtsr(mydate,11,8) || '|'  ...

おすすめ記事