Splitting a line


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Splitting a line
# 8  
Old 07-05-2007
Hi.
Quote:
Originally Posted by spindoctor
And I'm fooling around with the sed string outside of the script, and it's not actually working, period.
s/==Document\n/==\nDocument/
You'll need to be more specific. When something works correctly, we can see that it works. If it fails, there could be a number of reasons, and we need to examine the evidence.

If you run my script with the data1 file, does it work? ... cheers, drl
# 9  
Old 07-05-2007
drl,
I don't understand what your data1 file is.
Spin
# 10  
Old 07-05-2007
Or rather:
could you explain precisely the syntax in the script to read the data1 file? Is data1 a filename?
# 11  
Old 07-05-2007
OK, I tried your script with a file named (data1) and it comes close to working. Except the only thing is that the modified text splits into two lines
-------------Do
cument 7 of 9

I double-checked where the newline character is in the replacement portion of my script and it appears to be right where it should be.
# 12  
Old 07-05-2007
Hi.

OK, that sounds like progress. As I did, please post the script and the output, using CODE tags around them to make them readable ... cheers, drl
# 13  
Old 07-05-2007
OK: now I'm trying this again, and for some reason it's failed to work.
Here is the precise script I'm running:
#!/bin/sh
# @(#) s1 Demonstrate sed line split and merge.

set -o nounset
echo " sh version: $BASH_VERSION" >&2
sed --version | head -1

FILE=${1-data1}

echo
echo " Input file:"
nl $FILE

cat >script <<'EOF'
/==Document$/
N
s/==Document\n/==\nDocument/
}
EOF

echo
echo " Output"
sed -f script $FILE |
nl

exit 0
When I run this on data1 (I've taken one of my own text files and renamed it data1 to match the script), it cats the file with numbered lines and then reads this output error:

Output
sed: 1: script: command expected
# 14  
Old 07-05-2007
Hi.

You are missing a curly brace in the script:
Code:
cat >script <<'EOF'
/==Document$/
N
s/==Document\n/==\nDocument/
}
EOF

should be:
Code:
cat >script <<'EOF'
/==Document$/{
N
s/==Document\n/==\nDocument/
}
EOF

cheers, drl
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Splitting a line in two variables

Hello. The file /etc/fstab contains UUID=957c3295-9944-1593-82e2-2b90dede4312 / ext4 acl,user_xattr 1 1I fill a variable SOME_LINE=$( cat /etc/fstab | grep \/\..*ext4 )I want PART1=>>>>>UUID=957c3295-9944-1593-82e2-2b90dede4312 / ext4 ... (2 Replies)
Discussion started by: jcdole
2 Replies

2. Shell Programming and Scripting

Splitting one line into multiple lines

Hi, I have one problem scenorio as below. my source file is : cat input_file. "hi","there","how","are","you?","It","was","great","working","with","you.","hope","to","work","y ou." my output should be like. "hi","there","how","are","you?", "It","was","great","working","with",... (7 Replies)
Discussion started by: abhilash_nakka
7 Replies

3. Shell Programming and Scripting

Splitting Single line into multiple line

Hi All, I am reading a line from a file and writing it to other file. Whenever I got a particular line then I want that line to be splited into 4 line and written it to new file. e.g My line is U_ABC connector3 pin24E connector4 pin25E connector5 pin26E connector6 pin27E connector7... (2 Replies)
Discussion started by: diehard
2 Replies

4. Shell Programming and Scripting

Splitting file based on line numbers

Hello friends, Is there any way to split file from n to n+6 into 1 file and (n+7) to (n+16) into other file etc. f.e I have source pipe delimated file with 20 lines and i need to split 1-6 in file1 and 7-16 in file2 and 17-20 in file 3 I need to split into fixed number of file like 4 files... (2 Replies)
Discussion started by: Rizzu155
2 Replies

5. Shell Programming and Scripting

Splitting a line with pattern in Sed - Unix

I have a file with single line, that line contains just like the following sample 00200100293^30^1^bla bla ...._______To: zabell00200100293^30^3^aSub00200100293^30^4^ellaCc: Sanders,De on my desk__________00200100293^30^4^___________________________________00A00ABC0293^30^1^something___To: some... (10 Replies)
Discussion started by: Vasan
10 Replies

6. Shell Programming and Scripting

Splitting 12M line file

I have a 12M line file that I need to split into smaller files but I'm getting a csplit: virtual memory exhausted error How can I quickly split this file? This is sze -r-xr-xr-x+ 1 VERGE Domain Users 1158288000 May 4 16:31 inputfile This is the command I've tried... csplit... (4 Replies)
Discussion started by: verge
4 Replies

7. Shell Programming and Scripting

Need help in splitting a line into fields in shell scripting

I have a line of more than 3000 bytes which will contain & as fields separator..I am using following awk command ..Its working but its not accepting the line more than 3000 bytes...Anyother alternate solution even in othe shell command also fine... awk -F '&' '{for( i=1; i<=NF; i++ ) print $i}'... (2 Replies)
Discussion started by: punithavel
2 Replies

8. Shell Programming and Scripting

Splitting the line in multiple lines

Hi Guys, I need a help. I am pretty new to the shell level programing. I was trying to split a long lines to a multiple lines with few conditions. I goggle for the code and found some snippets and tried to modified it but I got few strange problems too. I have to split the lines if line is ... (3 Replies)
Discussion started by: dd_sh
3 Replies

9. UNIX for Dummies Questions & Answers

Line Splitting

Hi, I want to make a new line between for eg: 0102030405 to make it look like: 01 02 03 04 05 by using sed commands. I'm just wondering how would I do this? p.s i'm new to this unix programming. (7 Replies)
Discussion started by: evoGage
7 Replies

10. UNIX for Dummies Questions & Answers

Splitting a line up

9600012301F TF02FT T03FFTF04TF 05T FF06TTTT I have to split this line up into this 96000123 01F TF 02FT T 03FFTF 04TF 05T FF 06TTTT Can anyone please Help?? (1 Reply)
Discussion started by: lilas
1 Replies
Login or Register to Ask a Question