Tricky Sed


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Tricky Sed
# 1  
Old 11-22-2005
Tricky Sed

Hello. I am trying to convert occurrences of 'NULL' from a datafile. The 'NULL' occurences appears at this:

|NULL| NULL|NULL| NULL|NULL| NULL|NULL| NULL|

There should be 52 fields per line.
I would like any occurrence of | NULL| or |NULL| to appear as '||'
Currently I am using this sed command to convert:

Code:
/usr/bin/sed -e '1,2d' -e '/^$/d' -e '$d' ${DATA}/in1.bcp > ${DATA}/trash.bcp
/usr/bin/sed -e 's/^.//g' -e 's/  */ /g' -e 's/|$//g' -e 's/000|/0|/g' -e 's/ |/|/g' ${DATA}/trash.bcp > ${DATA}/out1.bcp
/usr/bin/sed -e 's/|NULL|/|/g' -e 's/|*NULL|/|/g' ${DATA}/out1.bcp > ${DATA}/final.bcp

The problem is some fields come out like '| |' and the number of fields do not equal 52. They vary depending on how many occurrences where converted per line.

Thank you for your help.
# 2  
Old 11-22-2005
Look at this from your last line:
-e 's/|NULL|/|/g' -e 's/|*NULL|/|/g'
If I understand what you want, you should be doing
-e 's/|NULL|/||/g' -e 's/|*NULL|/||/g'

Except that first command handles stuff also handled by the second command. Remember that * means zero or more.
# 3  
Old 11-22-2005
Your code seems to be doing various things but for the problem you describe, why not just divide your sed statement into 2 commands, one that removes 'NULL's and the other that removes spaces.


sed -e 's/ //g' -e 's/NULL//g'
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Tricky sed required

Hi All I need to put some sed together for a task and its a bit advanced for me, so I thought I'd ask if anyone here could help. I have a csv file with content like this - "","abcde","","" "'","abcde","","" "","","","1234" "'e'","","","" I need to remove any single quotes that fall... (17 Replies)
Discussion started by: steadyonabix
17 Replies

2. HP-UX

Tricky situation getting IP address

Hi, I have a multihomed system HP-UX with two NIC cards having IP address 10.9.0.13 & 10.9.0.45 I have two weblogic servers running one listening on "10.9.0.13" and the other on "10.9.0.45" Given a PID how is it possible to extract the IP Address that the weblogic server is using and... (1 Reply)
Discussion started by: mohtashims
1 Replies

3. Solaris

Tricky egrep

Hi folks! My first post here. I'm working on a script that retrieves a range of files from a list depending on a range of time. UPDATE: I've seen it could be difficult to read all this thing, so I'll make a summarize it.. How come I do this and take a result.. grep "..\:.." lista.new |... (4 Replies)
Discussion started by: kl0x
4 Replies

4. Shell Programming and Scripting

sed tricky problem

Hi, I have a file which contains two strings: AAAAA and BBBBB I have two variables in my script: DATE="03/21/2010" aDate="20100321" I need to replace string AAAAA with variable $DATE and BBBBB with $aDate. Here is what I do sed "s/AAAAA/$DATE/" $BASIC_TMPLT | sed "s/BBBBB/$aDate/" >... (4 Replies)
Discussion started by: axed
4 Replies

5. Shell Programming and Scripting

Another tricky sed or awk question

This post is in reference to https://www.unix.com/shell-programming-scripting/137977-tricky-sed-awk-question-post302428154.html#post302428154 I am trying to go the opposite direction now: I have the following file: a,b,C,f,g a,b,D,f,g a,b,E,f,g h,i,J,k,l m,n,O,t,u m,n,P,t,u m,n,Q,t,u... (3 Replies)
Discussion started by: awayand
3 Replies

6. Shell Programming and Scripting

Tricky sed or awk question

Hello everyone, unfortunately I am no unix nor scripting guru, which is why I am asking for help here. I am trying to reformat a .csv file using sed or awk which has the following format: a,b,C-D-E,f,g h,i,J,k,l m,n,O-P-Q-R-S,t,u v,w,X-Y,z,a It's basically a 5-field text file which has an... (7 Replies)
Discussion started by: awayand
7 Replies

7. Shell Programming and Scripting

Tricky data manipulation...

Hi everyone.. I am new here, hello.. I hope this doesn't come across to you folks as a stupid question, I'm somewhat new to scripting :) I'm seeking some help in finding a way to manipulate data output for every two characters - example: numbers.lst contains the following output:... (3 Replies)
Discussion started by: explicit
3 Replies

8. UNIX for Dummies Questions & Answers

tricky file output

I have a following file, I want to output 2 files. Is that easy to do? Output 1 output2 Thanks (4 Replies)
Discussion started by: jbchen
4 Replies

9. UNIX for Dummies Questions & Answers

Tricky Quotation Question

Hi, I am at a point in my script where I defined the number of the command line parameter I would like to set a variable equal to: parameter_number=14 I would then like to set a variable equal to the correct parameter: variable=$parameter_number The issue here is that {} is required... (2 Replies)
Discussion started by: msb65
2 Replies

10. Windows & DOS: Issues & Discussions

Tricky one...

Here's my problem: I have a laptop running Windows XP Pro with no internal CD or Floppy drives. I want to install Linux on it. I don't care about the Windows XP Pro installation, in fact I would like to install Linux over the entirety of the HD. However I cannot boot from any external CD drive... (1 Reply)
Discussion started by: saabir
1 Replies
Login or Register to Ask a Question