Replace trailing whitespaces with pipe symbol using perl


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Replace trailing whitespaces with pipe symbol using perl
# 1  
Old 11-18-2012
Replace trailing whitespaces with pipe symbol using perl

I want to replace the whitespace with Pipe symbol to do a multiple pattern matching for the whole text "mysqld failed start" and same as for other text messages Below are the messages stored in a file seperate by whitespace

Code:
mysqld failed start 
nfsd mount failed 
rpcbind failed to start

for each text i need to add the pipe symbol so that it will be easier to do mutliple search pattern similar to egrep.

expected o/p

Code:
mysqld failed start|nfsd mount failed|rpcbind failed to start


Last edited by Scrutinizer; 11-18-2012 at 03:06 PM.. Reason: Less information; (mod) code tags
# 2  
Old 11-18-2012
PLEASE USE CODE TAGS! The only trailing space that is visible in your 1st message is a space after the the last start and you haven't replaced it with a | character in the expected output.
# 3  
Old 11-18-2012
Sorry for the confusion i don't want the pipe symbol at the end
# 4  
Old 11-18-2012
@Kar_333
Your request incomprehensible...Do you understand "trailing whitespaces"? Please use code tags and place your request again
# 5  
Old 11-18-2012
What you have shown us is still a single line of input and a single line of output with the 3rd and 6th spaces (which do not appear to be trailing spaces) changed to vertical bars. I still don't understand how to translate your example into a meaningful script. Smilie

Please edit your original post and insert appropriate CODE tags so we can see what you're trying to do.
# 6  
Old 11-19-2012
Like this?
with bash/ksh93:
Code:
paste -sd'|' <(sed 's/[ \t]*$//' infile)

or with other shells not supporting process substitution:
Code:
sed 's/[ \t]*$//' infile|paste -sd'|' -

And with awk (with slight changes to RudiC's solution):
Code:
awk '{sub(/[ \t]*$/,"");printf("%s%s",(NR>1?"|":""),$0)}END{printf "\n"}' infile


Last edited by elixir_sinari; 11-19-2012 at 05:21 AM..
# 7  
Old 11-19-2012
With scrutinizer's edits of the original request and translating/guessing "whitespace" being <newline> instead of "space|tab|newline", I'd propose:
Code:
$ awk '{printf "%s%s", (NR>1)?"|":"", $0}' file
mysqld failed start |nfsd mount failed |rpcbind failed to start

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How to replace the first and last character which is pipe symbol in all files within a folder?

with in my files i have the data like this, starting with a pipe and ending the line with a pipe. all i want is to replace the first and last pipe , remove those trying to use following sed command, but it is only showing on the screen the entire data of the file as if it removed, but when i... (4 Replies)
Discussion started by: cplusplus1
4 Replies

2. Shell Programming and Scripting

Remove pipe(|) symbol in except the ones which are enclosed in double quotes

I have file with are delimited by pipe(|) symbol, I wanted those to be removed except the ones which are enclosed in double quotes. If your quote file is: |Life is |Beautiful"|"Indeed life |is beautiful too|"|"But unix is fun| is not"|" It should return: Life is Beautiful"|"Indeed life is... (9 Replies)
Discussion started by: Sathyapts
9 Replies

3. Shell Programming and Scripting

Remove pipe(|) symbol ina file, except the ones which are enclosed in double quotes

I have file with are delimited by pipe(|) symbol, I wanted those to be removed except the ones which are enclosed in double quotes. If your quote file is: |Life is |Beautiful"|"Indeed life |is beautiful too|"|"But unix is fun| is not"|" It should return: Life is Beautiful"|"Indeed life is... (1 Reply)
Discussion started by: Sathyapts
1 Replies

4. Shell Programming and Scripting

Broken pipe symbol replaced with <A6><A6>

hi, i am copying an xml file from windows to linux server using filezilla&winscp. xml file contains ¦¦ symbols, after copying xml file to server ¦¦ is replaced with <A6><A6>. tried with copying xml files from windows in ascii&binary but no luck. please suggest. thanks (1 Reply)
Discussion started by: Satyak
1 Replies

5. Shell Programming and Scripting

Separate letters and replace whitespaces

Input file: aaaa bbb dd. qqq wwww e. Output file: a a a a <s> b b b <s> d d . q q q <s> w w w w <s> e . Can I use sed to do so in one step? (5 Replies)
Discussion started by: Viernes
5 Replies

6. Shell Programming and Scripting

Remove whitespace after pipe symbol but not inside words

I have a file that looks like this: 102| #2 X 1/4-INCH| 30188| EA| FTW| A| NOT SERIAL TRACKING| NOT LOT TRACKING| TRUE| #2 X 1/4-INCH 102| #2 X 1/4-INCH| 30188| EA| VPS| A| NOT SERIAL TRACKING| NOT LOT TRACKING| TRUE| #2 X 1/4-INCH 102| #6 X 1/2"| ... (2 Replies)
Discussion started by: djehresmann
2 Replies

7. Shell Programming and Scripting

PERL - Compare 2 strings, excluding whitespaces

I am creating a script to compare definitions and declarations of functions in C code, and report if the arguments are different. So I need to compare the 2 strings (args of both), how can I do that? (2 Replies)
Discussion started by: bojomojo
2 Replies

8. Shell Programming and Scripting

replace nulls with whitespaces in a file

Hi, i have a file which contains data in fixed length. each row contains data of 10 characters fixed length. The data in the file appears like 4567782882 some times i may recieve dat less than fixed length of 10. in such a case i find nulls appended at the trailing spaces when i do a... (2 Replies)
Discussion started by: meeragiri
2 Replies

9. Shell Programming and Scripting

Problem while concating PIPE symbol with a file

Hi Gurus, I had a problem writing a pipe file. Previously i used this code to generate a tab seperated file ABCEF := ABCEF || 'to_char('|| abc_tab(col_num).col_name || ') chr(9) || '; Now i want the o/p as pipe seperated file.I changed the line as below ABCEF := ABCEF ||... (0 Replies)
Discussion started by: pssandeep
0 Replies

10. Shell Programming and Scripting

remove verticalbar or pipe symbol

hi guys i have 6000 rows column the text in the column has the symbol vertical bar |. i tried some of the commands to remove it but none of the commands are reconzng this symbol. would u plz help to remove this symbol from the text with any kind of unix command u r help would be appreciated ... (9 Replies)
Discussion started by: bogu0001
9 Replies
Login or Register to Ask a Question