Как добавить строку в начале каждой строки в файле

Я хочу добавить определенную строку в начале каждой строки файла. Итак, если у меня есть две строки в файле someFile.txt и вы хотите добавить строку даты 03/06/2012 с pipe -

Hello|there|john
Hello|there|joel

У меня было бы -

03/06/2012|Hello|there|john
03/06/2012|Hello|there|joel

Как это сделать?

Примечание. У меня есть 1,3 миллиона строк в файле.

Ответы

Ответ 1

$ awk '{print "03/06/2012|" $0;}' input.txt > output.txt

Занимает около 0,8 секунды для файла с 1.3M-строками на среднем оборудовании 2010 года.

Ответ 2

sed -i 's/^/03\/06\/2012|/' input.txt

Ответ 3

Решение Perl:

perl -ne 'print "03/06/2012|$_"' input.txt > output.txt

Просто для удовольствия, я тестировал 10 запусков в /tmp:

             Rate        awk perl_5.6.1        sed  perl_5.22  perl_5.20
awk        2.08/s         --       -10%       -10%       -26%       -32%
perl_5.6.1 2.32/s        11%         --        -0%       -17%       -24%
sed        2.33/s        12%         0%         --       -17%       -24%
perl_5.20  3.06/s        47%        32%        31%         9%         --

Протестировано с использованием входного файла линии 1.3M, созданного здесь:
perl -le 'while (1){exit if ++$n > 1300000; print $n}' > input.txt