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