2016-01-28 4 views
1

Я использую ed, чтобы вставить содержимое в файл по определенному номеру строки. Это раздел кода моей команды ed.Как удалить консоль из команды ed?

ed servertest << END 
$LineNumber  #15i 
$Text   #this is text 
. 
w 
q 
END 

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

$ bash code.sh 
1456 
1534 

Я думаю, что эти числа представляют количество символов в файле, servertest. Я понимаю, что у меня есть 1456 символов в файле без редактирования, прежде чем запускать код и 1534 символа после запуска кода. Есть ли способ, которым я не могу показать эти цифры на консоли? Я пробовал направлять вывод на dev/null, но ed не допускает никаких символов после последней команды END.

+2

ли 'Ed -s' сделать трюк? – dave

+0

@dave он делает! отправьте его как ответ, чтобы я мог его принять, спасибо :) –

+0

Хотя 'ed -s' - это правильная вещь, пожалуйста, обратите внимание, что добавление'>/dev/null 2> & 1' обычно игнорирует оба * stdout * и * stderr *. –

ответ

2

молчание вариант Использовать Эда, а именно:

ed -s servertest << END 
...