Sed command question on Solaris


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Sed command question on Solaris
# 1  
Old 06-09-2012
Sed command question on Solaris

Hi, I'm trying to find the first field in a text file with the below sed command but it doesn't seem to be correct for running on Solaris.. It has no problem running on AIX. Anyone got a suggestion what the problem is?

Code:
sed 's/^\([^ ]\+\) /OK/'


The eventual goal is to separate the columns in a file with vertical bars \1|\2|\3 but I can't even first field...

Code:
sed 's/ *, */,/g' <$entries | sed 's/^\([^ ]\+\) \+\([^ =]\+\)[ =]*\(.*\)/\1|\2|\3/' | sed 's/[\t ]*//g' >${workfile}_2

# 2  
Old 06-09-2012
\+ isn't part of the portable basic regular expression grammar. Try \{1,\} in its stead.

Regular Expressions

Regards,
Alister
# 3  
Old 06-09-2012
awk is better suited for the task, try:
Code:
nawk '{$1=x$1}1' OFS=\| "$entries"


Last edited by Scrutinizer; 06-09-2012 at 02:12 PM..
# 4  
Old 06-09-2012
Quote:
Originally Posted by Scrutinizer
awk is better suited for the task, try:
Code:
nawk '{$1=x$1}1' OFS=\| "$entries"

Why the x? I realize it's an undefined variable which expands to nothing, so the value of the field isn't altered, but is it actually required by some awk implementations to trigger recomputation of $0?

Regards,
Alister
# 5  
Old 06-09-2012
Hi, Alister the extra assignment of the empty variable x is there for AIX, where awk/nawk often do not recalculate a variable if it is assigned onto itself. This may be due to some sort of compiler optimization, but it works out as a kind of bug. It should not be required on any other OS.
This User Gave Thanks to Scrutinizer For This Post:
# 6  
Old 06-09-2012
I see. Thanks for the info, Scrutinizer.

Regards,
Alister
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Sed command usage question

How to work x in sed command? I know x command is swaps the contents of pattern space and hold space. But i am unable to understand it's working? (4 Replies)
Discussion started by: Vartika18
4 Replies

2. Shell Programming and Scripting

sed command question

Hey all, so I've been experimenting with SED today, no experience before today, so if you're not patient, stop reading now! :P I will attempt to explain this as simply as possible, without having to post massive walls of shitty code. Basically, I've created a small sed script to go through an... (9 Replies)
Discussion started by: Parrakarry
9 Replies

3. Shell Programming and Scripting

after sed command file shows '????' question marks

Hi All, I am trying to replace a string in a oracle LDT file file extension .ldt. I am using the following command: sed "s/Test Number Viewer/Test Number 1/g" TEST_LIEN_FORM.ldt > TEST_LIEN_FORM.ldt.tmp mv TEST_LIEN_FORM.ldt.tmp TEST_LIEN_FORM.ldt But after the command, the file... (2 Replies)
Discussion started by: veena484
2 Replies

4. Solaris

Question with Solaris Crash Analysis Tool with Solaris 9

Hello all. I am new hear and would like to ask a question regarding to the Solaris Crash Analysis Tool. We are analyzing the results of "thread summary" but not quite sure what the asterisk represents. Following are the items that asterisk were attached. 50* threads sleeping on a semaphore (49... (1 Reply)
Discussion started by: YuW
1 Replies

5. Shell Programming and Scripting

Sed command garbled question

for j in $(cat ${list_B}) do to_replace_2=$(grep $j ${useralias}_2) sed "s/^${j}/${to_replace_2}/p" ${entries} > ${entries}_2 mv ${entries}_2 ${entries} done Hi, I've the above sed command running in a script. Its basically looping through a file and replacing its beginning of line... (8 Replies)
Discussion started by: Jazmania
8 Replies

6. Shell Programming and Scripting

Question about a sed command

Hi guys, I'm currently trying to understand a piece of shell script and it has some sed commands. I've been looking through sed tutorials to figure out what it does but still no luck :confused: Can any of you guys tell me what this particular command does? sed -i '1i\.options' a/* ... (1 Reply)
Discussion started by: chu816
1 Replies

7. UNIX for Dummies Questions & Answers

Question on my sed command

So I have this sed command below. The content of the tmp.txt file is dv01:at01,at05,at02:at04 sed 's/\:.*\,/\,/g' tmp.txt Which produces dv01,at02:at04 and I'm trying to use sed to get me dv01,at05,at02 Stripping out the parts leading with ":". My sed is pretty basic, can... (5 Replies)
Discussion started by: J-Man
5 Replies

8. Shell Programming and Scripting

Loop with sed command to replace line with sed command in it

Okay, title is kind of confusion, but basically, I have a lot of scripts on a server that I need to replace a ps command, however, the new ps command I'm trying to replace the current one with pipes to sed at one point. So now I am attempting to create another script that replaces that line. ... (1 Reply)
Discussion started by: cbo0485
1 Replies

9. Shell Programming and Scripting

Sed Question 1. (Don't quite know how to use sed! Thanks)

Write a sed script to extract the year, rank, and stock for the most recent 10 years available in the file top10_mktval.csv, and output in the following format: ------------------------------ YEAR |RANK| STOCK ------------------------------ 2007 | 1 | Exxon... (1 Reply)
Discussion started by: beibeiatNY
1 Replies

10. Shell Programming and Scripting

Quick Question on sed command in shell script

Hello, I have the following line in one of my shell scripts. It works fine when the search string($SERACH_STR) exists in the logfile($ALERTLOG) but if the search string does not exist this line errors out at run time. Is there a way to make this line return 0 if it is not able to find the... (4 Replies)
Discussion started by: luft
4 Replies
Login or Register to Ask a Question