2011-02-16 3 views
0

Я хочу добавить разделитель в файл в определенных положениях, например. после no.s. Я хочу сделать это с помощью sed, может ли кто-нибудь мне помочьДобавление разделителя в файл

+0

Было бы полезно, если бы вы могли рассказать нам, как выглядит ваш файл, и каков ваш результат. – dogbane

+0

Мой файл представляет собой простой текстовый файл с форматом «Нет 0 Нет № 1» и так далее. Я хочу изменить его на «Нет равно 0 \ n Нет 1 \ n» и т. Д. – Shweta

+0

Какой формат? –

ответ

1

Вы можете попробовать:

sed 's/\([0-9]\) /\1\n/g' file.txt 

Он ищет цифры с зр ace после него и помещает новую строку после номера.

+0

что делать, если он ищет только цифру, а не пробел после нее. Пожалуйста, ответьте – Shweta

+0

@Shweta Затем просто удалите пробел из выражения sed и используйте: 'sed 's/\ ([0-9] \)/\ 1 \ n/g' file.txt'. Обратите внимание, что если у вас несколько цифр в числе, например. «Нет 123», это не сработает. – dogbane

+0

Тогда вы должны использовать это: 'sed 's/\ ([0-9] \) \ ([^ 0-9] \ | $ \)/\ 1 \ n \ 2/g' файл' - который выглядит для цифры, за которой следует что-то, что либо не цифра, либо конец строки. –

0

Предположим, что если вы ищете следующую строку '\ n' и ее необходимо заменить Unit Unitator (hex \037) 0 \n.

вы можете попробовать следующее:

sed -e "s/[\012]/[\037]0[\012]/g" testin.txt > testout.txt 

и

sed -e 's/'$(echo "\012")'/'$(echo "\037")'0'$(echo "\012")'/g' testin.txt > testout.txt 

также проверить this

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