Python-Fab не читает значение из файла - PullRequest
0 голосов
/ 24 ноября 2018
Команда

sed не читает значение из файла.

with open('file.txt') as f:
 content = f.read()
subprocess.call("sed -i '/name/s/$/%s /' copy_vmlist" % content ,shell=True)

выше одного не работает. Команда должна найти «имя» в copy_vmlist и добавить содержимое (jega) файла file.txt к следующемуcolmun.

Content of file.txt:
jega

Content of copy_vmlist:
Age
name
degree

Expected output in copy_vmlist:
Age
name jega
degree

1 Ответ

0 голосов
/ 24 ноября 2018

Проблема в аргументах вашей команды sed.Полагаю, вы хотели заменить строку «name» на «jega» в файле «copy_vmlist».Попробуйте:

#!/usr/bin/python
import subprocess

with open('file.txt') as f:
  content = f.read().strip()
  cmd = "sed -i 's/name/%s/' copy_vmlist" % content
  subprocess.call(cmd ,shell=True)

Редактировать:

После редактирования вам понадобится:

cmd = "sed -i 's/name/name %s/' copy_vmlist" % content
...