Объедините sed
с xargs
и printf
:
sed -n $(xargs printf "%sp;" < input.txt) data
-n
сообщает sed
не печатать строки, если вы сказать это явно. xargs
запускает команду со строками из стандартного ввода в качестве аргументов. printf
отформатирует каждый аргумент, как описано. $ (...)
выше расширяется до (для вашего образца файла):
2088p;2089p;2095p;2096p;
, который представляет собой последовательность команд sed
, сообщающих ему напечатать строки 2088, 2089, 2095, и 2096.
Таким образом, вы читаете каждый файл один раз, а не много раз для xargs -i sed "{} q"
или piped head
и tail
.
Думаю, я столкнулся с похожей проблемой, с которой столкнулся CentOS 7. Попробуйте разметить все с помощью другого linux (установочного) носителя (например, gparted или arch), а затем просто введите точки монтирования и файловые системы, но не нажимайте на reformat