Need to get multiline input


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Need to get multiline input
# 1  
Old 05-14-2014
Need to get multiline input

As per my requirement, I need to get a multiline input. It can be stored in a file, that's not a problem. User will be prompted to enter steps. he should able to enter the steps in multiple lines by pressing enter.

All I know in read command that reads the input till we press enter. Can someone suggest a solution.

Thanks in advance

Last edited by annamalaikasi; 05-14-2014 at 03:38 PM..
# 2  
Old 05-14-2014
I clear tool, the suckiest version control I have every used, when you are checkin in or out a file and don't use the -c for comment, you can enter a multiline comment. When you enter a comment that is only a single period clear tool knows that you are done with your comment.

You can use the same character or any character you like. Just let the person running the program know what the final character should be.
# 3  
Old 05-14-2014
With bash you can use read with the -d option something like this:

Code:
$ read -d "~" -p "Enter comment (\"~\" when done):
" line
Enter comment ("~" when done):
This is my multi line
input test
now done~$ 
$ echo "$line"
This is my multi line
input test
now done

This User Gave Thanks to Chubler_XL For This Post:
# 4  
Old 05-14-2014
Can I get examples in korn shell
# 5  
Old 05-15-2014
You could try something like

Code:
stty eof \~
echo "Enter comment type \"~\" and ENTER on blank line to end"
cat > /tmp/input.$$
stty eof ^D
line=$(cat /tmp/input.$$)
rm /tmp/input.$$
printf "You entered:\n%s\n" "$line"

Note ^D is entered in vi with CTRL-V then CTRL-D
These 2 Users Gave Thanks to Chubler_XL For This Post:
# 6  
Old 05-15-2014
So would a blank line terminate the input too?
Code:
line=Dummy
until [ "$line" = "" ]
do
   read line
   # whatever processing
done

Remember that on exiting the loop, the value of line will be null. You could store the input in an array. A count of the array could then be used to process it later in your script perhaps.

What is the eventual goal?



Robin
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Multiline sed

Hi guys, I am fairly comfortable with using the sed command if the string to be replaced is all on a single line. I was wondering is it possible to use sed command in a multiline way ? Say for example I have the below string on 2 different lines: { "key": "brandNameA", ... (3 Replies)
Discussion started by: Junaid Subhani
3 Replies

2. UNIX for Dummies Questions & Answers

UNIX multiline replace

Hi We have a database export file which needs to be formatted as below InputCreate view ABC1 as Locking ABC1 for Access select * from PQR Create view ABC2 as Locking ABC2 for access select * from PQR Create view ABC3 as Locking ABC3 for Access select * from PQR OutputCreate... (5 Replies)
Discussion started by: sheetal.arun
5 Replies

3. Shell Programming and Scripting

MultiLine Patterns

Experts, I am novice unix user. At my work, most of our DBA's work on creating DDL's to create new tables in production. At every week we need to validate the scripts (do peer review) and it takes a while and also it is not effective when we have like 150 tables created in the scripts. I am... (3 Replies)
Discussion started by: ysvsr1
3 Replies

4. UNIX for Dummies Questions & Answers

Need Multiline sed help!!

Hey everyone, I'm new to sed and I need to create a script for inserting one line of code at the beginning of every method in a Xcode project (over 6,000 methods). Each method Structure is (+ or -) (Various declarations-- could span multiple lines) ({) I've tried for days, any guidance would be... (2 Replies)
Discussion started by: jimmyz
2 Replies

5. Shell Programming and Scripting

help with multiline variable in csh

My shell is csh and it is required. I have a file like sample.txt ------------------------ a b c d e f g h i ------------------------ I want set the file to a variable and print it out in the same format. I have tried something like this, but not succed. % cat ~/tmp/sample.txt a b c d... (8 Replies)
Discussion started by: anykao
8 Replies

6. Shell Programming and Scripting

multiline pattern matching

Hi, I have a file of the following from: Afghanistan gdpcapit|800 Akrotiri Albania gdpcapit|6000 now I want have the gdpcapit value next to the country when there is one like this: Afghanistan 800 gdpcapit|800 Akrotiri Albania 6000 gdpcapit|6000 How do I do this? I've... (4 Replies)
Discussion started by: KarelVH
4 Replies

7. Shell Programming and Scripting

Multiline replace problem

I have a data of the form 0.0117843924 0. 0. 0. 0. 0.011036017 0. 0. 0. 0. 0.0103351669 0. 0. 0. 0. 4839.41211 0. 0. 0. 0. 4532.08203 0. 0. 0. 0. I would like to insert a couple of blank lines before the 4839 line, every time it appears. The numbers in the... (2 Replies)
Discussion started by: mathis
2 Replies

8. Shell Programming and Scripting

how to display multiline text

I am writing script that can run on solaris 10, Linux Fedora and windows taht has cybwin installed. I want to display a variable containing muli-line text. using echo command, the variable display all rows in single line i.e. it loses the format. Is there any other command that displays... (2 Replies)
Discussion started by: mmunir
2 Replies

9. UNIX for Dummies Questions & Answers

Multiline Grep

How does one do a search for a multiline regular experssion and output the results to a file. I know this won't work since grep only searches single lines: egrep '<a>.*?</a>' source.xml > output.xml Here are some sample patterns I'd like to match and output to a single file: ... (4 Replies)
Discussion started by: tolmark
4 Replies
Login or Register to Ask a Question