2014-05-08 6 views
0

У меня есть файл со следующим содержанием (я поставил 3 строки, например):Concat строку в файл

12743002785468 |MOVIL APPLE IPHONE4 16GB BLANCO   |NVEN   |Centro de Atención VIP   |0862034032 
12747002147595 |MOVIL APPLE IPHONE4 16GB BLANCO   |NVEN   |Centro de Atención VIP   |0862033996 

У меня есть переменная дата (20140430) Я хочу, чтобы сцепить начало каждой записи, как это :

20140430|12743002785468 |MOVIL APPLE IPHONE4 16GB BLANCO   |NVEN   |Centro de Atención VIP   |0862034032 
20140430|12747002147595 |MOVIL APPLE IPHONE4 16GB BLANCO   |NVEN   |Centro de Atención VIP   |0862033996 

Я пытался использовать это:

cat /home/file.txt | awk '{print "'"20140430"'""|"$0;}' > /home/file.txt 

и

sed -i 's/^/20140430|/' /home/file.txt > /home/file.txt 

Но не работает, и я не мог сделать это в своем файле из 180 000 записей. У кого-нибудь есть другая идея, как я могу конкатенировать? Операционная система SunOS 5,11 sun4v СПАРК sun4v 11,1 Большое спасибо заранее

+7

Это потому, что вы перенаправлять на тот же файл. Команды прекрасны, просто перенаправляются на другой файл, и все будет хорошо. Кроме того, 'sed -i' самостоятельно выполняет замену на месте, поэтому не перенаправляйте. – fedorqui

+0

Эти команды должны были полностью скрыть содержимое этого файла. –

+0

Извините, я попытался перенаправить на другой файл, например file.tmp, но не работает ни – alemarchan

ответ

0

Вы можете также цикл и добавить:

while read line; do 
    echo 20140430'|'$line 
done </home/file.txt> /home/file.txt.tmp 
mv file.txt.tmp file.txt 
+0

Отличный мой друг работал наилучшим образом. Большое спасибо! – alemarchan

 Смежные вопросы

  • Нет связанных вопросов^_^