2013-12-13 43 views
1

我有一個稍微損壞的大文件。新的線條消失了。應該有一個每250個字符有一個新的行。我該如何解決這個問題?使用awk添加新行,sed

在此先感謝。

回答

5

如何

sed 's/.\{250\}/&\n/g' 

.\{250\}捕捉任何類型的字符的250。這些字符被自己替換,再加上一個換行符。

+0

做工精細,非常感謝。 – user1641496

4

試試這個:

sed -r 's/.{250}/&\n/g' 

呆子

awk -v FPAT='.{1,25}' -v OFS='\n' '$1=$1' 
+2

應該指出的是'FPAT'需要v.4x才能工作。沒有安裝在我的Ubuntu 12.04,如果我沒有記錯,也沒有13.04 – Jotne

+0

@Jotne是的。 gawk 4.0+。我從8.04開始不使用ubuntu,不知道默認的安裝版本。但是你可以自己安裝。 (我安裝了4.1.0) – Kent

2
sed 's/^.\{250\}/&\ 
/;P;D' YourFile 

可能會更快的巨大的文件

2

awk版本

awk '{L=250;for (i=1;i<=length($0);i+=L) print substr($0,i,L)}' 
4

有在coreutils命令,可以換行,它被稱爲fold

fold -w 250 
+0

+1使用'fold',但是'-b'的描述(理解?)不完全正確。 – devnull

+0

@devnull:你說得對,我太快讀了信息頁。謝謝。 – Thor