Inserting comma after a specific pattern


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Inserting comma after a specific pattern
# 1  
Old 07-18-2013
Inserting comma after a specific pattern

Hi
Am using ksh shell
I have a file like
Code:
XYSDHY  read write; permission; complete;


DEGHLO  RTERI dersa; upomxi oidewmiew; jdipowj;

Now i need to insert semicolon after the BLOCK LETTER patterns and delete all blank lines.

Now I need the output as
Code:
XYSDHY;  read write; permission; complete;
DEGHLO  RTERI; dersa; upomxi oidewmiew; jdipowj;

Please help..

Last edited by Priya Amaresh; 07-18-2013 at 01:10 PM..
# 2  
Old 07-18-2013
Quote:
Originally Posted by Priya Amaresh
Now i need to insert semicolon after the BLOCK LETTER patterns and delete all blank lines. Please help..
Code:
awk '
        NF {
                for ( i = 1; i <= NF; i++ )
                {
                        if ( $i ~ /^[[:upper:]]*$/ )
                                $i = $i ";"
                }
                print
        }
' file

# 3  
Old 07-18-2013
try also:
Code:
awk 'NF {if (match($0,"^[A-Z ][A-Z ]*[A-Z]")) {print substr($0,RSTART,RLENGTH) ";" substr($0,RLENGTH+1)} else {print}}' infile

# 4  
Old 07-18-2013
Yoda's code needs a little correction:
Code:
awk '{for (i=2;i<=NF;i++) if ($i!~/^[[:upper:]]*$/) {$(i-1)=$(i-1)";"; break}} NF' file

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Extract whole word preceding a specific character pattern with first occurence of the pattern

Hello. Here is a file contents : declare -Ax NEW_FORCE_IGNORE_ARRAY=(="§" ="§" ="§" ="§" ="§" .................. ="§"Here is a pattern =I want to extract 'NEW_FORCE_IGNORE_ARRAY' which is the whole word before the first occurrence of pattern '=' Is there a better solution than mine :... (3 Replies)
Discussion started by: jcdole
3 Replies

2. UNIX for Advanced & Expert Users

Inserting delimiter after a specific number of chars

Hello guys, I have a problem where I need to add a delimiter, that can be | for example, after each 28000 chars. The problem is that sometimes 1 row, which should contain 28000 chars is split in 2, so I want to put the delimiter after each 28000 so I will know the end of each row. Please... (2 Replies)
Discussion started by: Diogo R Jesus
2 Replies

3. Shell Programming and Scripting

Help with scripting-->Inserting a line before a pattern

Hi Guys, I have written the following script test.sh in Linux . read -p "Please enter the name of the application: " DIRTOCREATE read -p "Please enter the number of associates to be given access to svn:" COUNT for (( i=0 ; i<$COUNT ; i++ )) do read -p "Enter the associate id :"... (2 Replies)
Discussion started by: Pradeep_1990
2 Replies

4. Shell Programming and Scripting

Substituting comma "," for dot "." in a specific column when comma"," is a delimiter

Hi, I'm dealing with an issue and losing a lot of hours figuring out how i would solve this. I have an input file which looks like this: ('BLABLA +200-GRS','Serviço ','TarifaçãoServiço','wap.bla.us.0000000121',2985,0,55,' de conversão em escada','Dia','Domingos') ('BLABLA +200-GRR','Serviço... (6 Replies)
Discussion started by: poliver
6 Replies

5. Shell Programming and Scripting

Inserting additional comma delimiters in a csv file, after and before certian fields.

Hello I have a csv file which I need to insert addtional commas into. The csv is of the format field1,field2,field3,field4,...etc...,field13,field14 I need to add extra commas in each record so that the final output looks like ... (1 Reply)
Discussion started by: kamal_p_99
1 Replies

6. Shell Programming and Scripting

Inserting string in between field in comma separated file

Hello Mates, I have one txt file having commo seperated values. I have to insert string "FALSE" in 2nd field from the end. E.G SE18 6RN,,,,5439070,1786840,,1000002148671600,123434 Out put should be: SE18 6RN,,,,5439070,1786840,FALSE,1000002148671600,123434 Can some one help me to... (8 Replies)
Discussion started by: krsnadasa
8 Replies

7. Shell Programming and Scripting

Inserting file content into a searched pattern

Hi, i have to insert the content of source.txt into the searched pattern of the file second.txt. $cat source.txt One Two Three . . $cat second.txt This is second file pattern match start here pattern match end here end of the file so the result will be like this (4 Replies)
Discussion started by: posix
4 Replies

8. Shell Programming and Scripting

script for inserting line at specific place in file

I use zentyal for my server admin, which is great but zentyal auto-generates config file on boot and hence overwrites any changes made directly to config files. In order to allow multiple user access to a MS ACCESS database, I need to customise the smb.conf file and add the following line to the... (9 Replies)
Discussion started by: barrydocks
9 Replies

9. Shell Programming and Scripting

Problem inserting text into file after specific line

this is utterly embarassing :( after posting here i revisited my files and found that when i used "vi" instead of a gui based editor, i suddenly found that the indentations were in fact wrong :( sorry about this :( (0 Replies)
Discussion started by: mocca
0 Replies

10. UNIX for Dummies Questions & Answers

Inserting specific lines in vi

How can I insert, say lines 500 - 700 from another file into the current file on the current line (cursor) that I am editing while in vi (AIX). I know how to insert the entire file but how do you do it when you only need certain lines from a huge file? I've referenced my Unix Unleash book but... (2 Replies)
Discussion started by: giannicello
2 Replies
Login or Register to Ask a Question