Visit The New, Modern Unix Linux Community


How to split this file.?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting How to split this file.?
# 1  
How to split this file.?

Hi Gurus,

I have a file which has only one huge line. I want to split it to multiple lines.
when I use
Code:
fold -w30 filename.

it can not split the file.
when using
Code:
fold -sw30 filename.

it works fine.
in man file, the -s break at spaces.
in previous posting, I got one script which using awk split file. it worked perfect for my old file. but it can not split this file.
Code:
awk '{for (i=1; i<=length($0); i+=10) print substr($0, i, 10)}' oldfilename > newfilename

I am wondering what I need change to make this awk script working.
when using
Code:
cat -A

I can see a special charactor ^@.
using
Code:
cat -evt

I can not see

Thanks in advance.

Last edited by ken6503; 06-14-2013 at 02:43 PM..
# 2  
Quote:
Originally Posted by ken6503
.
.
.
it can not split the file.
.
.
.
but it can not split this file.
.
.
.
What do you actually mean by that?
So, do you have a null character in your input file? Try passing the input through tr.
Code:
tr -d '\0' < inputfile | fold -w30

# 3  
Quote:
Originally Posted by elixir_sinari
What do you actually mean by that?
So, do you have a null character in your input file? Try passing the input through tr.
Code:
tr -d '\0' < inputfile | fold -w30

Thanks for your quick reply.
what i tried to say is
when using
Code:
fold -sw30

,
it can split the file correctly, but when using
Code:
fold -w30

it can not split the file.

when run
Code:
 tr -d '\0' filename

I got error

Code:
tr: extra operand `filename'
Only one string may be given when deleting without squeezing repeats.

I am not sure if there is null charactor, when using
Code:
cat -A

I can see special charactor
Code:
^@

thanks
# 4  
Did you read my post carefully? I said tr -d '\0' < inputfile and not what you tried.

And, ^@ is the ASCII representation of the null character (in caret notation).
This User Gave Thanks to elixir_sinari For This Post:
# 5  
Quote:
Originally Posted by elixir_sinari
Did you read my post carefully? I said tr -d '\0' < inputfile and not what you tried.

And, ^@ is the ASCII representation of the null character (in caret notation).
you are right. it works. one more question. how can I replace this NULL character with space?

thanks in advance.
# 6  
You can do that using tr too.

Code:
tr '\0' ' ' < inputfile

This User Gave Thanks to Scott For This Post:
# 7  
Thanks both of you.

I got another problem. the row count are different
when using
Code:
fold -sw filename

and
Code:
tr '\0'  ' ' < filename

do you know why?

thanks in advance.

Previous Thread | Next Thread
Thread Tools Search this Thread
Search this Thread:
Advanced Search

Test Your Knowledge in Computers #529
Difficulty: Medium
256 possible ASCII characters are enough to represent the wide array of international characters when we consider languages like Chinese Japanese Korean (CJK).
True or False?

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

sed awk: split a large file to unique file names

Dear Users, Appreciate your help if you could help me with splitting a large file > 1 million lines with sed or awk. below is the text in the file input file.txt scaffold1 928 929 C/T + scaffold1 942 943 G/C + scaffold1 959 960 C/T +... (6 Replies)
Discussion started by: kapr0001
6 Replies

2. Shell Programming and Scripting

How to split file into multiple files using awk based on 1 field in the file?

Good day all I need some helps, say that I have data like below, each field separated by a tab DATE NAME ADDRESS 15/7/2012 LX a.b.c 15/7/2012 LX1 a.b.c 16/7/2012 AB a.b.c 16/7/2012 AB2 a.b.c 15/7/2012 LX2 a.b.c... (2 Replies)
Discussion started by: alexyyw
2 Replies

3. Shell Programming and Scripting

Split file based on file size in Korn script

I need to split a file if it is over 2GB in size (or any size), preferably split on the lines. I have figured out how to get the file size using awk, and I can split the file based on the number of lines (which I got with wc -l) but I can't figure out how to connect them together in the script. ... (6 Replies)
Discussion started by: ssemple2000
6 Replies

4. Shell Programming and Scripting

awk to split one field and print the last two fields within the split part.

Hello; I have a file consists of 4 columns separated by tab. The problem is the third fields. Some of the them are very long but can be split by the vertical bar "|". Also some of them do not contain the string "UniProt", but I could ignore it at this moment, and sort the file afterwards. Here is... (5 Replies)
Discussion started by: yifangt
5 Replies

5. Shell Programming and Scripting

Split a file into multiple files based on first two digits of file.

Hi , I do have a fixedwidth flatfile that has data for 10 different datasets each identified by the first two digits in the flatfile. 01 in the first two digit position refers to Set A 02 in the first two digit position refers to Set B and so on I want to genrate 10 different files from my... (6 Replies)
Discussion started by: okkadu
6 Replies

6. Shell Programming and Scripting

Split File by Pattern with File Names in Source File... Awk?

Hi all, I'm pretty new to Shell scripting and I need some help to split a source text file into multiple files. The source has a row with pattern where the file needs to be split, and the pattern row also contains the file name of the destination for that specific piece. Here is an example: ... (2 Replies)
Discussion started by: cul8er
2 Replies

7. Shell Programming and Scripting

How to split a data file into separate files with the file names depending upon a column's value?

Hi, I have a data file xyz.dat similar to the one given below, 2345|98|809||x|969|0 2345|98|809||y|0|537 2345|97|809||x|544|0 2345|97|809||y|0|651 9685|98|809||x|321|0 9685|98|809||y|0|357 9685|98|709||x|687|0 9685|98|709||y|0|234 2315|98|809||x|564|0 2315|98|809||y|0|537... (2 Replies)
Discussion started by: nithins007
2 Replies

8. Shell Programming and Scripting

Split one file to Multiple file with report basis in unix

Hi, Please help on this. i want split the below file(11020111.CLT) to more files with some condition. :b: 1) %s stating of the report 2) %e ending of the report example starting of the report: %sAEGONCA| |MUMBAI | :EXPC|N|D ending of the report %eAEGONCA| |MUMBAI | :EXPC 3)so the... (10 Replies)
Discussion started by: krbala1985
10 Replies

9. Shell Programming and Scripting

Split large file and add header and footer to each file

I have one large file, after every 200 line i have to split the file and the add header and footer to each small file? It is possible to add different header and footer to each file? (1 Reply)
Discussion started by: ashish4422
1 Replies

10. UNIX for Dummies Questions & Answers

Split a file with no pattern -- Split, Csplit, Awk

I have gone through all the threads in the forum and tested out different things. I am trying to split a 3GB file into multiple files. Some files are even larger than this. For example: split -l 3000000 filename.txt This is very slow and it splits the file with 3 million records in each... (10 Replies)
Discussion started by: madhunk
10 Replies

Featured Tech Videos