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

 
Thread Tools Search this Thread
Top Forums UNIX for Beginners Questions & Answers How do I remove leading spaces in UNIX when count of space character is not fixed? Example below-
# 1  
Old 10-18-2016
Question 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-

Code:
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        -----                -----                OI 191344064/0
      GLIS-TK-S-BWSODWAIT-B  -----                -----                OI 191344064/0
GLIS-ALL-S-BWEC-B            10/06/2016  10:48:12 -----                RU 196982837/1
  GLIS-ALL-S-BWEC-START-B    10/06/2016  10:48:13 -----                RU 196982837/1
    GLIS-ALL-S-BWEC-GATHER   10/06/2016  10:48:16 -----                RU 196982837/1
    GLIS-ALL-S-BWEC-BWPP-BAL-J -----                -----                OI 134547446/0
    GLIS-ALL-S-BWEC-BWBM-BALS-J -----                -----                OI 134547446/0
GLIS-ALL-S-EOD-FX-UPDT-1730-B -----                -----                OI 0/0
     GLIS-ALL-R-EOD-FX-UPDT-1730-B -----                -----                ST 0/0
    GLIS-ALL-Q-EOD-FX-UPDT-1730-B -----                -----                TE 0/0

My requirement is to get rows containing status as 'OI/OH/RU' (highlighted few possible status values) and remove all trailing spaces. And I am trying to integrate this code in a perl script.

Idea is to do it without saving the output in a file.

Last edited by Tanu; 10-18-2016 at 05:28 AM..
# 2  
Old 10-18-2016
Hello Tanu,

Could you please try following and let me know if this helps you.
Code:
awk '{sub(/^ +/,X,$0);print}'   Input_file

Thanks,
R. Singh
# 3  
Old 10-18-2016
I am using below and it is giving me error- egrep: write error: Broken pipe


Code:
my @pendJobs = `showStreamsGLIS$reg.$env.ksh  | egrep ' OH | OI | RU ' | awk '{sub(/^ +/,X,$0);print}'`;

P.S: I am getting the output from a script and I don't want to use a file to temporary store the data and perform these activities. Trying to fetch the rows in a single command.

Last edited by Tanu; 10-18-2016 at 05:05 AM..
# 4  
Old 10-18-2016
Hello Tanu,

Without sample Input_file or without letting us know what you are trying to achieve, we all could guess only. So as a guess could you please try following and let us know how it goes then(seems you are using perl and didn't test it).
Code:
 my @pendJobs = `showStreamsGLIS$reg.$env.ksh  | awk '/OH|RU|OI/{sub(/^ +/,X,$0);print}'`;

Thanks,
R. Singh
This User Gave Thanks to RavinderSingh13 For This Post:
# 5  
Old 10-18-2016
Agree. Apologies for not providing proper requirement. Updated my original question.

This latest solution provided by you is not working as well. Error is "grep: write error: Broken pipe"

my piece of code is as below (nothing else in script except below calculation)-

Code:
my @pendJobs = `showStreamsGLIS$reg.$env.ksh  | awk '/OH|RU|OI/{sub(/^ +/,X,$0);print}'`;
chomp(@pendJobs);
print Dumper(\@pendJobs);
exit 1;

# 6  
Old 10-18-2016
Quote:
Originally Posted by Tanu
Agree. Apologies for not providing proper requirement. Updated my original question.
This latest solution provided by you is not working as well. Error is "grep: write error: Broken pipe"
my piece of code is as below (nothing else in script except below calculation)-
Code:
my @pendJobs = `showStreamsGLIS$reg.$env.ksh  | awk '/OH|RU|OI/{sub(/^ +/,X,$0);print}'`;
chomp(@pendJobs);
print Dumper(\@pendJobs);
exit 1;

Hello Tanu,

So a important step of trouble shooting is either in any tool/code/operation is never neglect your error messages. So here we could see you script and then awkcommand is there, so it means there could be a chance your script itself is having issues, so following are the points:
  1. Please try to run your script independently, is it running or not?
  2. Post your script(if possible) or let us know what it does with complete details.
  3. Check if you have used egrepcommand in script and try to figure out if that works or not?

Please follow above steps and additional too if you get any and let us know how it goes then.

Thanks,
R. Singh

Last edited by RavinderSingh13; 10-18-2016 at 07:31 AM.. Reason: Converted to formatted number-list with roman numerals
This User Gave Thanks to RavinderSingh13 For This Post:
# 7  
Old 10-18-2016
Thanks Ravindra.

I had egrep in my code (but strange that line was commented).
I did remove it and added escape character (\$0) and it worked.

Code:
my @pendJobs = `/ms/dev/saperp/sapbatchtools/$env/install/common/bin/autosys/showStreamsGLIS$reg.$env.ksh  | awk '/OH|RU|OI/{sub(/^ +/,X,\$0);print}'`;

Could you please explain the below highlighted part of your command-

Code:
awk '/OH|RU|OI/{sub(/^ +/,X,$0);print}';

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

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

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

Fixed with file- removing leading zeros and adding the space

Hi All, i have a fixed width file , where each line is 3200 length. File: 1ABC 1111 2222 3333 000012341 1001 2ABC 1111 2222 3333 000012342 1002 3ABC 1111 2222 3333 000112343 1003 1DEF 5555 4444 9696 000012344 1004 2DEF 5555 2323 8686 000012345 1005 3DEF 5555 1212 7676 000012346 1006 ... (1 Reply)
Discussion started by: mechvijays
1 Replies

4. Shell Programming and Scripting

Counting leading spaces to a character

data.txt { "auth_type": "role", "default_attributes": { "sudoers": { i need to know how manyspaces are before an actual character in each line of a file. for example. in the above data.txt, There are 0 spaces leading up to { There are 4 spaces leading up to the... (7 Replies)
Discussion started by: SkySmart
7 Replies

5. UNIX for Advanced & Expert Users

Need to remove leading space from awk statement space from calculation

I created a awk state to calculate the number of success however when the query runs it has a leading zero. Any ideas on how to remove the leading zero from the calculation? Here is my query: cat myfile.log | grep | awk '{print $2,$3,$7,$11,$15,$19,$23,$27,$31,$35($19/$15*100)}' 02:00:00... (1 Reply)
Discussion started by: bizomb
1 Replies

6. Shell Programming and Scripting

Remove new line character and add space to convert into fixed width file

I have a file with different record length. The file as to be converted into fixed length by appending spaces at the end of record. The length should be calculated based on the record with maximum length in the file. If the length is less than the max length, the spaces should be appended... (4 Replies)
Discussion started by: Amrutha24
4 Replies

7. Shell Programming and Scripting

insert leading zeroes based on the character count

Hi, I need add leading zeroes to a field in a file based on the character count. The field can be of 1 character to 6 character length. I need to make the field 14bytes. eg: 8351,20,1 8351,234,6 8351,2,0 8351,1234,2 8351,123456,1 8351,12345,2 This should become. ... (3 Replies)
Discussion started by: gpaulose
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

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 ... (6 Replies)
Discussion started by: lijojoseph
6 Replies
Login or Register to Ask a Question