2013-12-26 4 views
0

Я пытаюсь обновить файл управления deb через мой процесс make, так что мне не нужно вручную обновлять его каждый раз. Файл имеет одну строку: Installed-Size: 123. Я хочу заменить 123 фактическим размером установки.Как передать аргументы командной строки sed?

До сих пор у меня есть две части: du -s FOLDER, которая получает меня размером, который мне нужен, и sed -i "s/Install-Size: .*/Install-Size: 321/" FOLDER/DEBIAN/control. Проблема в том, что мне нужно получить первую часть вывода из du в строку replace для sed. Как мне это сделать?

ответ

2

Выполните следующие действия:

sed -i "s/Install-Size: .*/Install-Size: $(du -s FOLDER | cut -f1)/" FOLDER/DEBIAN/control 
+0

ли не то, что включает в себя имя папки, а также размер? Кроме того, в общем случае лучше использовать вместо «back-ticks» обозначение '$ (du -s FOLDER | sed \ s /. * // ')'). –

+0

Отредактировано, что не следует указывать имя папки – higuaro

+0

'sh -c' не требуется в нотации' $() '. – alvits

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