Leading and Trailing Spaces


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Leading and Trailing Spaces
# 1  
Old 10-28-2003
Leading and Trailing Spaces

Hi,

how to i remove leading and trailing spaces from a line? the spaces can be behind or in front of any field or line

example of a line in the input data:

Amy Reds , 100 , /bin/sh

how to i get it to be: Amy Read,100,/bin/sh

i saw something on this on the Man pages for AWK but i dont really understand what it was talking about.. could someone help?

thanks
# 2  
Old 10-28-2003
Are you using a shell script or vi to do this?

For a shell script you could use sed like this:

echo "Amy Reds , 100 , /bin/sh" | sed 's/ //g'

In vi it is very similar

:%s/ //g

This assumes you want to do this to every line of the file and also assumes you have spaces, not tabs or other whitespace.

If you can give more specifics I am sure you will get a more specific answer.
# 3  
Old 10-29-2003
thanks for your reply

i am using vi to do this.. i tried sed and it does not give me the output i want.. Amy Reds , 100 , /bin/sh --> would give me an output without any spaces in between

i want to get the output as --> Amy Reds,100,/bin/sh
there is a space between the first name and the last name

i looked at some web pages and AWK seems to be the answer, however i dont know how to use it.

thanks.
# 4  
Old 10-29-2003
Seems like you only want to remove only the spaces either side of a comma. Try...
Code:
echo "Amy Reds , 100 , /bin/sh" | sed 's/[ ]*,[ ]*/,/g'

# 5  
Old 10-29-2003
yes Ygor, that almost does it

could you explain what the symbols [ ] and * mean here?

also what if there are spaces in front of and behind the line?

" Amy Reds , 100 , /bin/sh "

thanks
# 6  
Old 10-29-2003
Regular Expressions

The pattern represents a regular expression

[ ] denotes a range of characters within the bracketed boundary, in this case a single space.

The following * denotes "0 or more occurences".

Thus, the pattern, [ ]* denotes a pattern match for 0 or more spaces. Places either side of a comma they produce the effect of mathcing a comma surrounded by spaces and then converting the matched string to a single comma.

You may also want to check up on the use of [:space:] which essentially matches any whitespace (i.e. tabs also).
# 7  
Old 10-29-2003
To remove spaces either side of a comma and leading/trailing spaces. Try...
Code:
sed -e 's/[ ]*,[ ]*/,/g' -e 's/^[ ]*//' -e 's/[ ]*$//' file1

Where...

[ ]* = any number of spaces
^ = beginning of line
$ = end of line

man regexp for more details.

You could also use awk, if you prefer...
Code:
awk 'BEGIN{FS=OFS=","}{for(i=1;i<=NF;i++)gsub("(^[ ]*)|([ ]*$)","",$i)};1' file1

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 remove leading and trailing spaces for variable in shell script?

Hi I have variable named tablename. The value to tablename variable has leading and trailing white spaces. How to remove the leading and training white spaces and write the value of the tablename without space to a file using shell script. ( for e.g. tablename= yyy ) INPUT ... (10 Replies)
Discussion started by: pottic
10 Replies

2. Shell Programming and Scripting

Remove leading and trailing spaces from a file

Hi, I am trying to remove leading and trailing spaces from a file using awk but somehow I have not been able to do it. Here is the data that I want to trim. 07/12/2017 15:55:00 |entinfdev |AD ping Time ms | .474| 1.41| .581|green |flat... (9 Replies)
Discussion started by: svajhala
9 Replies

3. Shell Programming and Scripting

Remove the leading and trailing date from a CSV file

I'm a newbie to shell scripting. Can anyone help with the below requirement ? The leading and trailing date of a files to be removed. 2017-07-12_gmr_tag_log_20170711.csv 2017-07-12_gmr_call_log_20170711.csv 2017-07-12_gmr_outgoing_log_20170711.csv I'm looking for output like... (7 Replies)
Discussion started by: shivamayam
7 Replies

4. Shell Programming and Scripting

Clearing leading and trailing blanks from a string in C Shell

Does anyone know of a way with C Shell that will work on both Linux and Sun to clear all leading and trailing blanks from a previously specified string? I am using the following code to replace blanks with underscores: set Company = `echo $Company | sed 's/ /_/g but I don't want any... (1 Reply)
Discussion started by: phudgens
1 Replies

5. Shell Programming and Scripting

Help to move leading negative sign to trailing position

Hi All, I am having a file which contains negative numbers, wht i am doing is re-formattting the file(moving few columns and add few hard codings between), while reformatting i would want the negative numbers to have the sign as trailing rather than leading. Existing -2400.00 34 0.00... (11 Replies)
Discussion started by: selvankj
11 Replies

6. Shell Programming and Scripting

[solved] Trailing spaces

Hello People How to check whether lines in a text file have trailing spaces or not and if a line have trailing spaces then how many trailing spaces line have? Regards ARvind kumar (5 Replies)
Discussion started by: arvindk.monu
5 Replies

7. Shell Programming and Scripting

Removing leading and trailing spaces only in PERL

Hi All, I have a file with the following contents with multiple lines 172445957| 000005911|8| 400 Peninsula Ave.#1551 | And,K |935172445957|000005911 607573888 |000098536 | 2|Ane, B |J |Ane |1868 |19861206|20090106|20071001 I want to trim the "leading and trailing spaces only" from... (2 Replies)
Discussion started by: kumar04
2 Replies

8. Shell Programming and Scripting

remove trailing and leading spaces using tr command

Dear All, can you please advice how do i remove trailing and leading spaces from a pipe-delimited file using "tr" command the below cmd, i tried removed all spaces tr -d ' '<s1.txt>s2.txt1 Many thx Suresh (5 Replies)
Discussion started by: sureshg_sampat
5 Replies

9. UNIX for Dummies Questions & Answers

Removing leading and trailing spaces of data between the tags in xml.

I am having xml document as below. <transactionid> 00 </transactionid> <tracknumber> 0 </tracknumber> <key> N/A </key> But the data contains leading and trailing spaces between the tags. Please let me know how can i remove these leading and trailing spaces between the tags.... (2 Replies)
Discussion started by: jhmr7
2 Replies

10. Shell Programming and Scripting

Strip leading and trailing spaces only in a shell variable with embedded spaces

I am trying to strip all leading and trailing spaces of a shell variable using either awk or sed or any other utility, however unscuccessful and need your help. echo $SH_VAR | command_line Syntax. The SH_VAR contains embedded spaces which needs to be preserved. I need only for the leading and... (6 Replies)
Discussion started by: jerardfjay
6 Replies
Login or Register to Ask a Question