Страница 1 из 1
sed - перенос строки
Добавлено: 2016-08-08 13:43:32
basov
Всем привет!
Вопрос у меня в следующем.
Мне надо вставить пустую строку в начало вывода файла.
пишу:
получаю
Что не так, подскажите пожалуйста?
Почему строку не переводит?
Отправлено спустя 1 час 26 минут 41 секунду:
понял что можно и без
cat обойтись, однако проблема перевода строки все равно остается
Отправлено спустя 46 минут 37 секунд:
На данный момент у меня заработало только так:
Код: Выделить всё
sed "1 s/^/\^/" path/to/file | tr -s "^" "\n"
sed - перенос строки
Добавлено: 2016-08-08 13:47:31
f_andrey
Видимо кто то пытается юзать bsd sed а документацию читает к чему то иному
ну или gsed ваш друг например
sed - перенос строки
Добавлено: 2016-08-08 13:56:30
basov
не работает
пишет
Код: Выделить всё
unescaped newline inside substitute pattern
sed - перенос строки
Добавлено: 2016-08-08 14:28:34
f_andrey
может таки уже прекратим играть в угадайку и вы нам назовёте систему и версию утилиты с которой пытаетесь работать?
Приведённый мной пример прекрасно работает в FreeBSD 10, а ваш первоначальный в линукс (gsed FreeBSD)
sed - перенос строки
Добавлено: 2016-08-08 14:36:57
basov
OS freeBSD 9.3, sed - без понятия какой там в комплекте идет...
И как я уже написал, вариант с tr у меня сработал хорошо.
sed - перенос строки
Добавлено: 2016-08-08 14:57:01
f_andrey
Код: Выделить всё
$ uname -a
FreeBSD fbsd-tbox.diphost.ru 9.3-RELEASE-p24 FreeBSD 9.3-RELEASE-p24 #0: Sat Aug 22 01:54:44 UTC 2015 root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC amd64
$ cat testme.txt
1
2
3
$ cat testme.txt | sed '1 s/^/\
/;'
1
2
3
$ cat testme.txt | gsed '1 s/^/\n /;'
1
2
3
sed - перенос строки
Добавлено: 2016-08-08 15:05:50
basov
Код: Выделить всё
uname -a
FreeBSD test.anything.ru 9.3-RELEASE FreeBSD 9.3-RELEASE #0 r268512: Fri Jul 11 03:13:02 UTC 2014 root@snap.freebsd.org:/usr/obj/usr/src/sys/GENERIC i386
$ cat test.txt
1
2
3
$ cat test.txt | sed '1 s/^/\
? /;' : unescaped newline inside substitute pattern
Отправлено спустя 2 минуты 4 секунды:
ах да...
Код: Выделить всё
$ cat test.txt | gsed '1 s/^/\n/;'
gsed: Command not found.
sed - перенос строки
Добавлено: 2016-08-08 15:39:04
f_andrey
Чудеса да?
basov писал(а):
gsed: Command not found.
Ну так его наверное надо поставить, если надо
sed - перенос строки
Добавлено: 2016-08-08 15:44:57
basov
f_andrey писал(а):Чудеса да?
Чудеса. Заработало. Спасибо.
Забавно то, что только этот вариант я не попробовал пока разбирался.

sed - перенос строки
Добавлено: 2016-08-08 15:53:16
f_andrey
Теперь домашние задание, с элементами телепатии, повторить чтоб работало как у меня в первый раз
