2013-03-31 35 views
0

在我来说,我想在3500个的符号 划分文本“文本。在3500”放。在n等于符号

%s/\(.\{3500\}\)\(.*\)/\1\.\2/ 

E486: Pattern not found: \(.\{3500\}\)\(.*\) 

它适用于以前的文本,但在下一个不能正常工作。

+2

如何用减少的测试用例来增强您的问题?和之前/之后的样本? – romainl

+1

up romainl,顺便说一句,'。{3500}'并不意味着3500 **等号**。它可能是'abcdefg .... whatever.3500..foo' – Kent

回答

1
cat tmp 

这是第一线

现在第二线

最后第三线

cat tmp | sed ':a;N;$\!ba;s/\(.\{3\}\)/\1\./g' 

thi.s i.s f.irs.t l.ine。

no.w s.eco.nd .lin.e

f.ina.lly。第三。 li.ne

用3500代替3看看会发生什么+

+0

cat bz.txt | sed':a; N; $ \!ba; s/\(。\ {3 \} \)/ \ 1 \ ./ g' sed:-e表达式#1,字符7:未知命令: – Xsi

+0

cat bz.txt | sed':a; N; $! ba; s /(。\ {3 \})/ \ 1 \ ./ g'试试这个 –

+0

cat ev1.txt | sed':a; N; $! ba; s /(。\ {3 \})/ \ 1 \ ./ g'sed:-e表达式#1,字符28:无效引用\ 1's'命令的RHS> OKAY ..所以它不会工作 – Xsi