2016-08-23 2 views
2

У меня есть текстовый файл с разделителями табуляции, начиная с некоторых строк, начинающихся с '#'.linux добавить строку в начало определенных строк

#line1 
#line2 
#line3 
1 a 
1 b 

Теперь для каждой строки, которая не начинается с '#', я хочу добавить строку 'text'.

#line1 
#line2 
#line3 
text1 a 
text2 b 

Как это сделать? Я думал о работе с SED

sed "s/^[^#]/text/g" infile > outfile 

Но тогда выход для первого столбца в каждой строке просто «текст», а не «text1» или «text2».

ответ

4

Вы должны захватить и затем ссылаться на характер Немаловажна [^#]:

sed 's/^[^#]/text&/' infile > outfile