Insert 1 space using the command sed

Hi

I want to use sed to insert one space after the 10'th character in every line.
The lines are on this format:

2012-01-1012:30:55|7323456|65432
2011-02-0313:11:06|1223|3456
......
......

Does anyone know sed well enough to acomplish this?
If there is any other way around this without using sed I would also be very thankful.

awk '{print substr($0,1,10)" "substr($0,11,length($0))}' input.txt
2012-01-10 12:30:55|7323456|65432
2011-02-03 13:11:06|1223|3456

---------- Post updated at 02:28 PM ---------- Previous update was at 02:26 PM ----------

$ sed 's/\(..........\)\(.*\)/\1 \2/' input.txt
2012-01-10 12:30:55|7323456|65432
2011-02-03 13:11:06|1223|3456

---------- Post updated at 02:29 PM ---------- Previous update was at 02:28 PM ----------

$ sed 's/\(.\{10\}\)\(.*\)/\1 \2/' input.txt
2012-01-10 12:30:55|7323456|65432
2011-02-03 13:11:06|1223|3456

Thank you so much. All that worked perfect.

One more :wink:

# sed 's/........../& /' infile
 
$ perl -lane '$_=~s/^(\d{4}-\d{2}-\d{2})(.*)/$1 $2/;print $_' input.txt
2012-01-10 12:30:55|7323456|65432
2011-02-03 13:11:06|1223|3456

---------- Post updated at 02:44 PM ---------- Previous update was at 02:36 PM ----------

 
$ perl -lane '$_=~s/^(.{10})(.*)/$1 $2/;print $_' input.txt
2012-01-10 12:30:55|7323456|65432
2011-02-03 13:11:06|1223|3456

Yet one more:

sed 's/./& /10'
sed 's/\([0-9]\{2\}:\)/ \1/'

Can you change the program that creates the file in the first place to output the data/time in the format you require? If this is from an outside source perhaps you can request the source to fix it to meet your needs.