如何在一定数量的字符后插入换行符

时间:2014-02-21 18:12:53

标签: command-line newline

我有一个0.3MiB的txt文件我想在每200个左右的字符后有一个换行符。文本没有空格,只是一行ASCII字符 - 默认情况下。由于它只是一行,大多数编辑都试图打开它时崩溃。

所以有可能做这样的事情: Insert element after several characters

但是在Linux上的bash中 - 就像在这里使用sed一样:https://stackoverflow.com/a/723247/2943276

该文本来自base64个图像 - 默认情况下会插入一个新行 - 例如:

iVBORw0KGgoAAAANSUhEUgAAAoAAAAC0CAYAAAAEuZ2xAAAABmJLR0QA/wD/AP+gvaeTAAAACXBI
WXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3gEcEikF6MEKEgAAABl0RVh0Q29tbWVudABDcmVhdGVk
IHdpdGggR0lNUFeBDhcAACAASURBVHja7L3JryVZltb722an79t7z23dPdzDPZqMzEQoXxYCBqhG
TBAPJASzggEDmPIH+N/FgGGpRFYpqyozlJHehLvfvjt935jZG6y1bN9I4PEQIApenKur05jZ3tu6
vT/71vet7ZL/8B8SOh14+xaSBL7+GsZjyGTg6gp2OyiVoF6HZhPu72G5hGwWjo4gCOD2Vtbf35cy
dju4uIBOB8plWadclt8eHuCrr6Dfh3Zb1n/3Dk5PwTlYreDgAO7uoNGAwUDq/MUvpD3jsZS7XsN0
CrmctC2TgSiSupZLec9mpRznZLu9PVnn4AAWC6hWpf7RCOIYikVZvtvBdit17HbSju1W6srlZP1M
Rj4vFlJGGEo7ViuYJtCydTcQhZAEkA+gHkAuC3cOCg5uQlgH8FkAy5DkwBHvIN5AnEA0g3gLSRWi

但出于某种原因,这一批都在一行中,如:

iVBORw0KGgoAAAANSUhEUgAAAoAAAAC0CAYAAAAEuZ2xAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3gEcEikF6MEKEgAAABl0RVh0Q29tbWVudABDcmVhdGVkIHdpdGggR0lNUFeBDhcAACAASURBVHja7L3JryVZltb722an79t7z23dPdzDPZqMzEQoXxYCBqhGTBAPJASzggEDmPIH+N/FgGGpRFYpqyozlJHehLvfvjt935jZG6y1bN9I4PEQIApenKur05jZ3tu6vT/71vet7ZL/8B8SOh14+xaSBL7+GsZjyGTg6gp2OyiVoF6HZhPu72G5hGwWjo4gCOD2Vtbf35cydju4uIBOB8plWadclt8eHuCrr

我无法使用base64重做这个,因为我丢失了图像,所以每200个字符后添加一个换行符很有用。

1 个答案:

答案 0 :(得分:2)

使用

sed -r 's/(.{200})/\1\n/g' file

还要编辑文件,添加-i开关:

sed -i -r 's/(.{200})/\1\n/g' file