Sh scripting problem, matching specific white space


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Sh scripting problem, matching specific white space
# 1  
Old 05-23-2006
Sh scripting problem, matching specific white space

Hey, I'm desperately in need of a solution to a seemingly easy problem. How can I match a specific number of spaces and replace them. As in, I have a file that instead of being broken into parts by new lines is broken into parts via 500+ spaces. How can I replace any grouping of more than 400 spaces or so with a newline? Sed? Tr? Sorry for the retarded question in advance. Thanks a lot.
-Dick
# 2  
Old 05-23-2006
If i understand your issue properly you will need to the the last or both of the following :

$prompt 1> sed -r 's/ +/ /g' <filename>
$prompt 2> sed -r 's/ +/\n/g' <filename>

Hope this helps !

FMA
# 3  
Old 05-24-2006
Not working yet...

I'm not sure if you understood me entirely. I assume you meant -e instead of -r in your commands? Because my shell doesn't recognize a -r argument for sed. When I used -e it simply cleared my whole file, which I did not understand.

What I have is a file that has no new lines in it. Instead, between entries of data are about 500 spaces or more. What I would like to do is have something that goes through the file and replaces instances of 500 or more spaces together with a new line character, but only when it is large amount of spaces, because the data entries have spaces in them as well.

If anyone can help it would be most appreciated.
-Dick
# 4  
Old 05-24-2006
Can you be specific on number 500 or 400 ? or is there bare minimum?
# 5  
Old 05-24-2006
There isn't a specific minimum, just something that would be abnormal to have in the middle of text. You can assume that you can put a new line in for any place that has more than 10 spaces. That help?
# 6  
Old 05-24-2006
Try:
Code:
awk '{gsub(/  {500,}/,"\n"); print}' yourfile

# 7  
Old 05-24-2006
Your input file maybe long for awk , in that case use:
Code:
sed 's: \{500,\}:\^J:g' yourfile

Note that you can't use ^J literally.
Type \ and press return to get it.

Bye
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Preserve leading white space

I have about 350 programs in which I have to add 2 lines; one before and one after a specfic line. The following script does the job except that I lose the indentation. #!/usr/bin/bash while read line ... (8 Replies)
Discussion started by: jgt
8 Replies

2. Shell Programming and Scripting

Add white space

hi guys how can i add spacein file name with sed if strings have no space around dash input 19-20 ( 18-19 ) ABC-EFG output after add white space 19 - 20 (18 - 19 ) ABC - EFG thx in advance (2 Replies)
Discussion started by: mhs
2 Replies

3. UNIX for Dummies Questions & Answers

filename with white space

our user creates a text file with a white space on the filename. this same file is transfered to unix via automation tool. i have a korn shell script that reads these files on a input directory and connects to oracle database to run the oracle procedures which will load the data from each of the... (2 Replies)
Discussion started by: wtolentino
2 Replies

4. Shell Programming and Scripting

remove white space from specific columns in text file

Hello i have a text file like this: 1 AB AC AD EE 2 WE TR YT WW 3 AS UY RF YT the file is bigger , but that's an example of the data what i want to do is to merge all columns together except the first one, it will become like this : 1 ABACADEE 2 WETRYTWW 3 ASUYRFYT (8 Replies)
Discussion started by: shelladdict
8 Replies

5. Shell Programming and Scripting

sed + white space

Hi, What sed command (if sed is the right command) can remove ALL white space from my file. I have a csv, except I want to remove all white space between commas and characters. My idea (without testing) sed 's/ //g' Is there a better way? (18 Replies)
Discussion started by: mcclunyboy
18 Replies

6. Shell Programming and Scripting

Matching white space through Grep

Hello All, I am trying to match white space in patterns through - Grep I tried ] & ] but none of them worked. Then I tried Perl extension '\s' and it worked. So just wanted to know if ] & ] are still supported or have they become deprecated. However they have been mentioned in the... (3 Replies)
Discussion started by: paragkalra
3 Replies

7. UNIX for Dummies Questions & Answers

Problem with Trimming of white space

Dear Members, Following is the code which i am using: integer i=7 while ((i <= 10 )); do param=`echo $TEST_OUT | cut -d"^" -f$i` a=`echo ${param}` echo `echo $a | sed 's/+/ /g'` (( i = i + 1)); done From the above code TEST_OUT is a variable which has the following value: ... (1 Reply)
Discussion started by: sandeep_1105
1 Replies

8. UNIX for Dummies Questions & Answers

SED with White Space

Dear Members, Suppose i have a variable test which stores a string as below: test='John drives+++++++++a+++++car' now i want to use sed on the above variable and replace + with a white space, so that i get echo $test should give me 'john drives a car' Between... (1 Reply)
Discussion started by: sandeep_1105
1 Replies

9. Shell Programming and Scripting

stripping white space...

Hi All; Having a problem with a file.. the file contains the following data... (a snapshot) 1331F9E9DB7C2BB80EAEDE3A8F043B94,AL7 1DZ,M,50 186FDF93E1303DBA217279EC3671EA91,NG5 1JU,M,24 3783FFAF602015056A8CD21104B1AAAF,CH42 4NQ,M,17 It has 3 columns sepreated by a , the second column... (7 Replies)
Discussion started by: Zak
7 Replies

10. Shell Programming and Scripting

How to keep white space is being deleted using read

I am using Posix shell to write a script. The problem I am having is that when I use the read command to go through a file I lose the tabs. How can I keep this from happening? (1 Reply)
Discussion started by: keelba
1 Replies
Login or Register to Ask a Question