Solved

Reading, writing and substring operations in Shell Script

Posted on 2003-10-21
5
28,000 Views
Last Modified: 2013-12-13
I am new to shell scripts so please excuse my newbie questions or mistakes

1) How do i read a file into a shell script variable.?  While reading i should preserve all special characters, tabs, carriage returns etc, ineffect everything that is there in that file should be kept as is.  A text file needs to be created by this script which will further be processed by a Java program.

2) Once i read the file, i need to check if the first 2 characters are **.

3) How do i write to a new file everytime the script is executed.  The name is not very important.

Thank you all for your help
0
Comment
Question by:ns11
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
5 Comments
 
LVL 45

Accepted Solution

by:
sunnycoder earned 100 total points
ID: 9597572
>How do i read a file into a shell script variable.?  
for i in `cat filename`
or you can use
cat filename | while read line

>While reading i should preserve all special characters, tabs, carriage returns etc, ineffect everything that is there
>in that file should be kept as is.
first method I listed will not preserve newlines and other formatting while second one will

whether you should preserve them or not depends on your application needs

>A text file needs to be created by this script which will further be processed by a Java program.
why not use cp if you are simply copying it !!

>2) Once i read the file, i need to check if the first 2 characters are **.
use grep ^** or sed if you wish to replace them ... more details will be helpful

>3) How do i write to a new file everytime the script is executed.  The name is not very important.
a simple way could be to keep a count in a file ... increment this count everytime you write to a newfile
generate name as
newfile.<count from file>
0
 
LVL 45

Expert Comment

by:sunnycoder
ID: 9604807
>3) How do i write to a new file everytime the script is executed.  The name is not very important.
for this purpose, you can also use mktemp ... man mktemp

any feedback ?
0
 
LVL 1

Expert Comment

by:Skytzo
ID: 9745345

There are two powerful utilties that you can use.

Sed and Awk.   I advise you to go to google and do a search on shell scripting tutorial and simply walk through the step by step guides that you find.

Second, go to google and do a search on Sed and Awk tutorial and work through those.

What you are trying to achieve is relatively simple, and could probably get what you need within a few hours of going through the tutorials.

0

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

This is an explanation of a simple data model to help parse a JSON feed
Whether you've completed a degree in computer sciences or you're a self-taught programmer, writing your first lines of code in the real world is always a challenge. Here are some of the most common pitfalls for new programmers.
Viewers will learn how to properly install Eclipse with the necessary JDK, and will take a look at an introductory Java program. Download Eclipse installation zip file: Extract files from zip file: Download and install JDK 8: Open Eclipse and …
In this seventh video of the Xpdf series, we discuss and demonstrate the PDFfonts utility, which lists all the fonts used in a PDF file. It does this via a command line interface, making it suitable for use in programs, scripts, batch files — any pl…

756 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question