Reputation: 743
I have a 0.3MiB txt file I would like to have a newline after every 200 or so characters. The text had no spaces, and is just one line of ASCII characters - which by default. As it is all in one line, most editors crash on trying to open it.
So is it possible to do something like this: Insert element after several characters
But in bash on Linux - like using sed
as is used here: https://stackoverflow.com/a/723247/2943276
The text is sourced from base64
rd images - which by default inserts a new line - example:
iVBORw0KGgoAAAANSUhEUgAAAoAAAAC0CAYAAAAEuZ2xAAAABmJLR0QA/wD/AP+gvaeTAAAACXBI
WXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3gEcEikF6MEKEgAAABl0RVh0Q29tbWVudABDcmVhdGVk
IHdpdGggR0lNUFeBDhcAACAASURBVHja7L3JryVZltb722an79t7z23dPdzDPZqMzEQoXxYCBqhG
TBAPJASzggEDmPIH+N/FgGGpRFYpqyozlJHehLvfvjt935jZG6y1bN9I4PEQIApenKur05jZ3tu6
vT/71vet7ZL/8B8SOh14+xaSBL7+GsZjyGTg6gp2OyiVoF6HZhPu72G5hGwWjo4gCOD2Vtbf35cy
dju4uIBOB8plWadclt8eHuCrr6Dfh3Zb1n/3Dk5PwTlYreDgAO7uoNGAwUDq/MUvpD3jsZS7XsN0
CrmctC2TgSiSupZLec9mpRznZLu9PVnn4AAWC6hWpf7RCOIYikVZvtvBdit17HbSju1W6srlZP1M
Rj4vFlJGGEo7ViuYJtCydTcQhZAEkA+gHkAuC3cOCg5uQlgH8FkAy5DkwBHvIN5AnEA0g3gLSRWi
But for some reason this lot is all in one line, like:
iVBORw0KGgoAAAANSUhEUgAAAoAAAAC0CAYAAAAEuZ2xAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3gEcEikF6MEKEgAAABl0RVh0Q29tbWVudABDcmVhdGVkIHdpdGggR0lNUFeBDhcAACAASURBVHja7L3JryVZltb722an79t7z23dPdzDPZqMzEQoXxYCBqhGTBAPJASzggEDmPIH+N/FgGGpRFYpqyozlJHehLvfvjt935jZG6y1bN9I4PEQIApenKur05jZ3tu6vT/71vet7ZL/8B8SOh14+xaSBL7+GsZjyGTg6gp2OyiVoF6HZhPu72G5hGwWjo4gCOD2Vtbf35cydju4uIBOB8plWadclt8eHuCrr
and I can't redo this lot with base64
as I have lost the images, so it would be useful to add a newline after every 200 characters.
Upvotes: 0
Views: 239
Reputation: 185530
Using sed :
sed -r 's/(.{200})/\1\n/g' file
to also edit the file, add the -i
switch :
sed -i -r 's/(.{200})/\1\n/g' file
Upvotes: 2