Problem Using Cut With A Space Delimiter


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Problem Using Cut With A Space Delimiter
# 1  
Old 04-13-2009
Problem Using Cut With A Space Delimiter

I am trying to extract 'postmaster' from the following string:
PenaltyError:=554 5.7.1 Error, send your mail to postmaster@LOCALDOMAIN
using the following command:
Code:
cat /usr/share/assp/assp.cfg | grep ^PenaltyError:= | cut -d '@' -f1 | cut -f8

but it returns:
PenaltyError:=554 5.7.1 Error, send your mail to postmaster
I thought it assumed Spaces or Tabs were delimited. I have tried using -d ' ' but it errors saying:
-f8": command not found

I suspect I'm doing this the long way, but any suggestions are welcomed.

I'm running Ubuntu Server v8.10

Thanks,
Alex
# 2  
Old 04-13-2009
I just tried to run the command that you have given.

Code:
cat filename | grep ^PenaltyError:= | cut -d '@' -f1 | cut -d ' ' -f8

It runs just fine without any problems. And so does

Code:
cat filename | grep ^PenaltyError:= | cut -d ' ' -f8 | cut -d '@' -f1

Output in both cases is : postmaster
I am using bash in RHEL 4.

Thanks,
Umar
# 3  
Old 04-13-2009
Can't get it to run the same as you - very strange.
I wonder if the 'space' is actually something else or being interpreted differently.
Is there a command to say give me the last 'word' of a line?

Thanks,
Alex
# 4  
Old 04-13-2009
two answers.

#1) umar slyly added -d' ' to the second cut command in your original post.
This is why his worked. ( i prefer keeping my delimiters snug to the -d ).

#2) awk '{ print $NF }' file_nm
# 5  
Old 04-13-2009
Thanks for that. It's working now, but only to a point.
Quote:
cat /usr/share/assp/assp.cfg | grep ^PenaltyError:= | cut -d '@' -f1 | cut -d ' ' -f8
works, but my actual code:
Quote:
GetValue='eval "cat /usr/share/assp/assp.cfg | grep ^PenaltyError:= | cut -d '@' -f1 | cut -d ' ' -f8"'
StringValue=`eval $GetValue`
echo 'Current Setting:' $StringValue
does not. This is what is returning:
-f8": command not found
Something about my eval is breaking it, but I'm afraid I only know enough to be dangerous.
Can anyone shed any light on what might be happening?

Thanks,
Alex
# 6  
Old 04-13-2009
try switching the first and second cut commands, and then removing the -d ' ' altogether.

eval re-executes the results of the cat.....cut command.
why do you want to do that??

i don't see a reason to use eval at all...

what are the results of cat.....cut supposed to look like again?
# 7  
Old 04-13-2009
Switching the cuts and removing the -d ' ' gives me:
PenaltyError:=554 5.7.1 Error, send your mail to postmaster
It's supposed to just say postmaster

Doing the eval was my way of managing to get the result concatenated to the text 'Current Setting: '

Is there an easier way to do that instead of the 2 sets of evals I'm dong now?
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Problem in using cut command with pipe as a delimiter while using in a script

There is a text file in my project named as "mom.txt" in which i want to have contents like.................. LSCRM(Application Name): 1: This is my first application. 2: Today we did shell scripting automation for this app. 3: It was really a good fun in doing so. 4: Really good.| (Here i... (7 Replies)
Discussion started by: Abhijeet Anand
7 Replies

2. Shell Programming and Scripting

Cut cmd with delimiter as |#|

Hi All- We have a file data as below with delimiter as |#| 10|#|20|#|ABC 13|#|23|#|PBC If I want to cut the 2nd field out of this, below command is not working as multiple pipe is causing an issue , it seems cut -f2 -d"|#|" <file_name> can you please help to provide the correct command... (7 Replies)
Discussion started by: sureshg_sampat
7 Replies

3. Shell Programming and Scripting

cut delimiter and save

i have list of names in a text file and I wanted to delete the commas en every line. for example: inside the text is a list of names in it with commas after each line. I wanted to delete these commas. which command must I execute for this? unix, dale, shawn, aaron, (4 Replies)
Discussion started by: garfish
4 Replies

4. Shell Programming and Scripting

How to cut by delimiter, and delimiter can be anything except numbers?

Hi all, I have a number of strings like below: //mnt/autocor/43°13'(33")W/ and i'm trying to get the numbers in this string, for example 431333 please help thanks ahead (14 Replies)
Discussion started by: sunnydanniel
14 Replies

5. Shell Programming and Scripting

how to cut all string after the last delimiter?

hi all, suppose a string: abc/def/ghi/jkl/mn.txt and i want to get the file name without the path. however, different files have different paths, therefore the number of delimiter is uncertain. thanks so much! (3 Replies)
Discussion started by: sunnydanniel
3 Replies

6. Shell Programming and Scripting

Cut columns with delimiter

HI, I have a file like below "103865","103835","Zming","","Zhu","103965","Sunnyvale","US", "116228","116227","Morlla","","Kowalski","113228","Paese "(Treviso)""IT" I want to validate the 7th column which is below. "Sunnyvale" "Paese In the above 7th column Paese is not ended with... (9 Replies)
Discussion started by: Krrishv
9 Replies

7. Shell Programming and Scripting

cut -d with more than 1 delimiter?

I need to cut or otherwise get the 4th and 5th position output of for i in `date +%H` ; do vnstat --dumpdb | grep "h;$i" ; done example output is: h;13;1310318701;443;93 I only need ";443;93" from any given run of "for i in `date +%H` ; do vnstat --dumpdb | grep "h;$i" ; done" Thanks... (3 Replies)
Discussion started by: Habitual
3 Replies

8. Shell Programming and Scripting

Problem in extraction when space is a field delimiter

I have more than 1000 files to parse. Each file contains few lines (number of lines varies) followed by a header line having all column's name (SPOT, NAME etc) and then values for those columns. **Example File: sdgafh dfhaadfha sfgaf dhah jkthdj SPOT NAME GENE_NAME CH_MEAN CHDN_MED ... (11 Replies)
Discussion started by: AshwaniSharma09
11 Replies

9. Shell Programming and Scripting

Cut Number which appear before a delimiter

Hi All, How can i use the cut option to only output the number of rows, which is 2 is this case ? Pls note that the number of digit before the delimiter ":" is always varying. $ grep -n uuu xxx 2:** xxx yyy gg 44 tt uuu 2007 $ (2 Replies)
Discussion started by: Raynon
2 Replies

10. Shell Programming and Scripting

\r as delimiter in cut

I need to use \r as a delimiter in the -d option of the cut comand . Any help ? Thanks in advance . SD (5 Replies)
Discussion started by: shweta_d
5 Replies
Login or Register to Ask a Question