2013-03-31 41 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