2013-09-02 4 views
1

У меня есть файл сказать abc.txt со следующими данными, за исключением (реальные данные имеют множество записей, скажем, около 200)Как добавить текст в каждой строке файла для первой линии

Sno | Name
1 | Jack
2 | Jill
3 | June

Теперь, как я добавить текст, чтобы сделать мой файл выглядеть,

Sno | Name | Place
1 | Jack | Paris
2 | Jill | Paris
3 | June | Paris

Я попытался заменить глобально, но первая строка должна быть добавлена ​​с различными text.So пожалуйста, помогите мне, ребята.

+0

Какие инструменты вы используете? Помогает ли вам bash или sed? –

ответ

4

Как насчет:

sed -e '2,$ s/$/|Paris/' < abc.txt 

И в том числе заголовок:

sed -e '1 s/$/|Place/' -e '2,$ s/$/|Paris/' < abc.txt 

Для последней строки, вы должны иметь дополнительную пустую строку в файле. Таким образом, удалить все строки, не содержащие ничего, кроме нуля или более пробелов:

sed -e '/^ *$/ d' -e '1 s/$/|Place/' -e '2,$ s/$/|Paris/' < abc.txt 
+0

Отлично! благодаря тонну. – JK23

+0

но одна маленькая проблема – JK23

+0

| Париж появляется как отдельная последняя строка. Как этого избежать? – JK23

0

Это может работать для вас (GNU СЭД):

sed '1s/$/|Place/;/./!b;1!s/$/|Paris/' file 

Это добавляет |Place к первой строке, игнорирует пустые строки и все другие строки добавляются |Paris.

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