remove leading spaces from a line


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting remove leading spaces from a line
# 1  
Old 03-15-2008
remove leading spaces from a line

Hi friends

I need some help,

I have a file which looks as follows

TEMP 014637065 014637065 517502 517502 RTE
517502 517502 RTE
AWATER_TEST 12325 23563 588323 2323 5656 32385 23235635
ANOTHER_TEST 12 5433 FTHH 5653 833
TEST 123 123 3235 5353 353 53 35 353 535 3
YTERS GJK JKLS

when ever there is a leading space on line(here there is a space at the starting of line 2 and 6 which may not be visible in thread), I need to remove that and append to the previous line. This means I want an output file which looks like
TEMP 014637065 014637065 517502 517502 RTE 517502 517502 RTE
AWATER_TEST 12325 23563 588323 2323 5656 32385 23235635
ANOTHER_TEST 12 5433 FTHH 5653 833
TEST 123 123 3235 5353 353 53 35 353 535 3 YTERS GJK JKLS
# 2  
Old 03-15-2008
Code:
awk '/^ /{print p $0; p=""; next}
p !~ /^ / && p {print p}
{p=$0}
END{if(!/^ /) {print}}
' file

Regards

Last edited by Franklin52; 03-15-2008 at 08:34 AM.. Reason: modifation code
# 3  
Old 03-15-2008
Quote:
Originally Posted by Franklin52
Code:
awk '/^ /{print p $0; p=""; next}
p !~ /^ / && p {print p}
{p=$0}
END{if(!/^ /) {print}}
' file

Regards
Hello Franklin,
I tried with the above option it is giving syntax error for second line
error messages are
*******
awk: syntax error near line 1
awk: bailing out near line 1
*******
also i tried with awk '/^ /{print p$0;next}{p=$0}END{print}' but here it will not consider the lines without a leading space

pls help

Last edited by lijojoseph; 03-15-2008 at 10:12 AM..
# 4  
Old 03-15-2008
Use nawk or /usr/xpg4/bin/awk on Solaris

Regards
# 5  
Old 03-15-2008
Bug

Frank,
thanks a lot it is working perfectly with nawk.

here also i have a small problem
if there are leading spaces in 2 consecutive lines then it is not considering the second one..
that is
*** input file
TEMP 014637065 014637065 517502 517502 RTE
517502 517502 RTE
226
AWATER_TEST 12325 23563 588323 2323 5656 32385 23235635
ANOTHER_TEST 12 5433 FTHH 5653 833
TEST 123 123 3235 5353 353 53 35 353 535 3
YTERS GJK JKLS

if leading spaces are there in lines 2 and 3 then the output should look like
TEMP 014637065 014637065 517502 517502 RTE 517502 517502 RTE 2634
AWATER_TEST 12325 23563 588323 2323 5656 32385 23235635
ANOTHER_TEST 12 5433 FTHH 5653 833
TEST 123 123 3235 5353 353 53 35 353 535 3
YTERS GJK JKLS

Can you pls help?

Also can you just explane me the awk code if you have time
Once again many thanks for youe help Smilie
# 6  
Old 03-15-2008
Try this:

Code:
awk '
/^ /{p=p $0;next}
p{print p}
{p=$0}
END{print p}
' file

Explaination of the code:

/^ /{p=p $0;next} # concatenate lines that begin with a space with the previous line and read next line

The next commands effect the other lines:

p{print p} # Print the previous line if set
{p=$0} # Set p
END{print p} # There are no more lines, print previous line(s)

Use nawk or /usr/xpg4/bin/awk on Solaris

Regards
# 7  
Old 03-17-2008
Hello Frank,

many thanks for the help. It is working perfectly.

Cheers
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

Trying to remove leading spaces

OS : RHEL 6.7 Shell : bash I am trying to remove the leading the spaces in the below file $ cat pattern2.txt hello1 hello2 hello3 hello4 Expected output is shown below. $ cat pattern2.txt hello1 hello2 hello3 hello4 (2 Replies)
Discussion started by: John K
2 Replies

3. 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

4. UNIX for Beginners Questions & Answers

How do I remove leading spaces in UNIX when count of space character is not fixed? Example below-

Script showStreamsGLIS$reg.$env.ksh gives me output as below- Job Stime Etime Status ExitCode GLIS-AS-S-EFL-LOCK-B ----- ----- OI 103313880/0 GLIS-ALL-Q-EOD-FX-UPDT-1730-B ----- ----- TE 0/0 GLIS-TK-S-BWSOD-B ... (8 Replies)
Discussion started by: Tanu
8 Replies

5. Shell Programming and Scripting

How Select numbers from a line of text, and remove leading spaces?

I have a text file with a line of text that contains numbers and text formatted into groups. I need to extract the number that can be either 1,2 or 3 digits long. Then write it to a variable, but i need to remove any leading spaces in the number first. I can get the numbers out but how to remove... (12 Replies)
Discussion started by: kcpoole
12 Replies

6. OS X (Apple)

Remove leading spaces from file names and folders

Hi All, I have a vexing issue with leading spaces in file names. Basically, we're moving tons of data from our ancient afp file share to Box.com and Box forbids leading spaces in files or folders. The HFS file system seems to be perfectly fine with this, but almost all other Unix file systems... (1 Reply)
Discussion started by: prometheon123
1 Replies

7. Shell Programming and Scripting

how to remove leading directory from line in filename?

i have a process that receives files similar to below. these are files obviously generated on a windows machine that are submitted to a linux cluster. the one thing they have in common is the leading c:\any-number-of-leading-dirs\filename.xxx. is there a way to re-create/modify the file to remove... (3 Replies)
Discussion started by: crimso
3 Replies

8. Shell Programming and Scripting

Not able to remove leading spaces

Hi Experts, In a file tht i copied from the web , i am not able to remove the leading white spaces. I tried the below , none of them working . I opened the file through vi to check for the special characters if any , but no such characters found. Your advice will be greatly appreciated. sed... (5 Replies)
Discussion started by: panyam
5 Replies

9. 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

10. Shell Programming and Scripting

sed over writes my original file (using sed to remove leading spaces)

Hello and thx for reading this I'm using sed to remove only the leading spaces in a file bash-280R# cat foofile some text some text some text some text some text bash-280R# bash-280R# sed 's/^ *//' foofile > foofile.use bash-280R# cat foofile.use some text some text some text... (6 Replies)
Discussion started by: laser
6 Replies
Login or Register to Ask a Question