formatting a file using shell script


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting formatting a file using shell script
# 1  
Old 12-03-2007
formatting a file using shell script

Hi
I have to do the following.I have to format a file test.t

The contents are

# Header 1231
xyz
asdf
asdapsdcsd
//string1 = "pqrs"
//string1 = "abcd"; //info
//string1 = "*pqrs"; //add
string1 = "#123"; //sub
//string1 = "#1234567890"
data = check(string1)
//string1 = "#1234567890"
//string2 = "pqrs"
//string2 = "abcd"; //info
//string2 = "*pqrs"; //add
string2 = "#123"; //sub
print "abcd ";
return xy

I want to modify this as


# Header 1231
xyz
asdf
asdapsdcsd
string1 = "#987";
data = check(string1)
string2 = "#21 43 65 87 59";
print "abcd ";
return xy

The requirement is I have to remove all the lines starting with string1 or //string1 or string2 or //string2 and add two new lines
string1 = "#987"; //mult and string2 = "#21 43 65 87 59"; //sub
in its place. How do i do that using a shell script?

"#987 is a default string , but 21 43 65 87 59 is input to the file as
1234567895,ie, if the script is test.sh, i would call that as

./test.sh 1234567895. and i should get this output.

Please help..
# 2  
Old 12-03-2007
Very similar to your other thread - https://www.unix.com/shell-programmin...ted-query.html

Please be aware that you are breaking the rules. Refrain from doing so.
# 3  
Old 12-03-2007
Remove all string1 or string2 pattern as

Code:
sed -e "/^[\/]*string[12]/d" input.txt

# 4  
Old 12-03-2007
Quote:
Originally Posted by vino
Remove all string1 or string2 pattern as

Code:
sed -e "/^[\/]*string[12]/d" input.txt

hi thanks
I know that it is a similar query. just that could not solve this!
earlier itried to break down the requirements. but any idea how to do that?
how can i call a script by passing some argument and format the same in the script and use it again?
# 5  
Old 12-03-2007
Perhaps something like this

Code:
#! /bin/sh

rev=$(echo $1 | sed -e 's/\(.\)\(.\)/\2\1 /g')

str1='string1 = "#987";'
str2='string2 = "#'$rev';'
 
sed -e "/^[\/]*string[12]/d" -e "s/\(data = .*\)/$str1\n\1\n$str2/g" input.txt

# 6  
Old 12-03-2007
Quote:
Originally Posted by vino
Perhaps something like this

Code:
#! /bin/sh

rev=$(echo $1 | sed -e 's/\(.\)\(.\)/\2\1 /g')

str1='string1 = "#987";'
str2='string2 = "#'$rev';'
 
sed -e "/^[\/]*string[12]/d" -e "s/\(data = .*\)/$str1\n\1\n$str2/g" input.txt

Hi Vino

I am getting error here
Syntax error at line 3: `rev=$' unexpected
# 7  
Old 12-03-2007
Quote:
Originally Posted by vino
Perhaps something like this

Code:
#! /bin/sh

rev=$(echo $1 | sed -e 's/\(.\)\(.\)/\2\1 /g')

str1='string1 = "#987";'
str2='string2 = "#'$rev';'
 
sed -e "/^[\/]*string[12]/d" -e "s/\(data = .*\)/$str1\n\1\n$str2/g" input.txt

Hi Vino

Thanks a lot
Got that
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Need some help in formatting answer of shell script

Dear all, I am new to shell scripting and have tried to make a small program for fun sake that tells age from the last number of cell phone and birth year. At the end we get a final 3 digit number and the first digit represents the last digit of cell phone and rest 2 numbers shows age. eg. 423... (4 Replies)
Discussion started by: stg44
4 Replies

2. Shell Programming and Scripting

Formatting a file using shell script

Hi, Please find the below lines of a file B1/OT "GIB10" 837 130308 1351 MONORONOUS DIGI PATH FAULT SUPER B1/OT "GIB10" 520 130418 1537 MONORONOUS DIGI PATH FAULT SUPER B1/XT "GIB10" 762 130421 0653 TV Y-CEIVER ADMIN RXOCF-62 241_OKEBOLE_NEW 1 B1/XT "GIB10" 385 130425 1931 TV Y-CEIVER... (2 Replies)
Discussion started by: Ardhendu
2 Replies

3. Shell Programming and Scripting

Formatting File Using Shell Script

Hi Team, We have a requirement where we need to format input file using shell script by meeting the below conditions. 1. 1. Ignore first 549 characters of that file. 2. 2. After that we need to make a file of 100 characters per line, repeat it until the 3rd ... (16 Replies)
Discussion started by: ataneja7
16 Replies

4. Shell Programming and Scripting

AWK/Shell script for formatting data in a file

Hi All, Need an urgent help to convert a unix file in to a particular format: **source file:** 1111111 2d2f2h2 3dfgsd3 ........... 1111111 <-- repeats in every nth line. remaining all lines will be different 123ss41 432ff45 ........... 1111111 <-- repetition qwe1234 123weq3... (1 Reply)
Discussion started by: rajivnairfis
1 Replies

5. Shell Programming and Scripting

formatting a shell script

there is one shell which calls for different sql scripts. output of different are formatted in frame like structure.i want columnar wise formatting to be done in such a manner that output of one sql may be comon input of rest sqls . ERC DML Closure Date ER DML SAP Transfer Date ... (0 Replies)
Discussion started by: arc
0 Replies

6. Shell Programming and Scripting

Shell Script Problems, Lose formatting when copy pasting from formatted file.

Hello, I'm having trouble with formatting some text via the terminal. I can get it perfectly formatted, but when I try and copy paste the text from the output file it loses it's formatting. Very frustrating! Basically I have 7 files (data data2 data3 data4 data5 data6 data7) containing a... (13 Replies)
Discussion started by: facetoe
13 Replies

7. Shell Programming and Scripting

Formatting a file using shell script

I have a file with contents something similar to as below : SVCNAME,12m-1a,1a-2a,2a-3a,3a-4a,5a-6a,6a-7a,7a-8a,8a-9a,9a-10a,10a-11a,11a-12n,12n-1p,13p-14p,14p-15p,15p-16p,16p-17p,17p-18p,18p-19p,19p-20p,20p-21p,21p-22p,22p-23p,11p-12m, TOTALS... (5 Replies)
Discussion started by: deo_kaustubh
5 Replies

8. Shell Programming and Scripting

Date formatting in shell script

Hi, I am writing a script and I need to calculate last weeks date. I get the current date as; today=`date '+%Y%m%d'` and I need last week inthe same format. Thanks, (2 Replies)
Discussion started by: ozum
2 Replies

9. Shell Programming and Scripting

Formatting the text file using shell script

How to add the filename to end of each line with | as seperator, except first and last line of the file(s) in directories(with diff tree structure) using shell script?. And also how to replace a list of strings with another set of strings, which is present in a file?. Kindly help out on... (1 Reply)
Discussion started by: av_vinay
1 Replies

10. Shell Programming and Scripting

Formatting lines in shell script

I have a file with the below lines 1521 1522 1523 1524 1525 1526 ... 174 lines all numbers like above. I want the above file to appear as below. 1521,1522,1523,1524..... All the numbers should be separated by comma. Pls tell me how to do this .... Thanks in advance. (8 Replies)
Discussion started by: dreams5617
8 Replies
Login or Register to Ask a Question