Извините, но я думаю, что очень общее заявление автора Android Authority не способствует конструктивному повышению осведомленности. Рассмотрим следующее:
Это зависит от типа рабочей нагрузки. (Как всегда. )В большинстве случаев это должно быть незначительным, для которого было разработано это решение.
Несколько лет назад я выполнял кодирование видео на виртуальной машине, так как в то время не хотел возиться с полноценным рабочим столом Arch Linux, а для этой задачи мне нужен был только интерфейс командной строки. Большинство (, если не все )необходимых мне функций процессора, были доступны, снижение производительности было незначительным (, а новые версии необходимых программных компонентов работали быстрее или обеспечивали лучшее качество ).
Конечно, вы могли видеть плохо работающие виртуальные машины или плохо работающие хосты виртуальных машин, но без конкретного сценария ваш вопрос становится скорее теоретическим, чтобы ответить на него.
GNU sed интерпретирует \n
как символ новой строки, вот что вы получите. Чтобы этого не произошло, вам нужно экранировать его для sed, передав ему строку \\n
. Поскольку у вас есть это в строке с двойными кавычками -в командной строке, вам нужно добавить еще одну обратную косую черту, чтобы избежать ее. (Или избегайте обеих обратных косых черт; здесь это не имеет значения, так как в строке с двойными кавычками -\n
дает \n
, поэтому и \\\n
, и \\\\n
заканчиваются как \\n
.)
Кроме того, вам не хватает места для отделения первого аргумента функции printf от второго, поэтому:
$ sed -e "1s|^|printf '%s\\\n' |" < file1
printf '%s\n' 'a 1-61' 'a 7134-7194'