09-04-2012
Quote:
my understand is, it will on hold for waiting the next input
It won't. You feed the while loop with the content of here-document, so it processes it line-by-line.
Read builtin takes input from a file descriptor. A file descriptor is either an open file, and it takes a line from there, or stdin, and it waits for input from terminal. In your case it's a file (you are creating a here-document with << operator), that's where read is reading from, and it wouldn't make sense for it to wait for stdin.
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
I'm Presently Writting A College Report On Operating Systems, Not Enjoying It Very Much.
I Was Hoping Someone Could Direct Me To A Site Where I Could Get Information Such As The Role Of Operating Systems, Types Of Operating Systems (Multi-User Multi-Tasking etc), Modes Of Operating systems... (3 Replies)
Discussion started by: OSNovice
3 Replies
2. UNIX for Advanced & Expert Users
Hi,
Do anyone know what's the max size of array (in awk)
can be store before hit any memory issue.
Regards (3 Replies)
Discussion started by: epall
3 Replies
3. UNIX for Dummies Questions & Answers
I have a situation where I have created a semaphore and set it's value to 10. I am using this semaphore to control access to a shared memory location. I can have 10 processes simultaneously read from the shared memory location, process 11 would get locked out. My question is, is there a way I... (6 Replies)
Discussion started by: tpotter01
6 Replies
4. Shell Programming and Scripting
A file named abc.txt being updated with date value by one process.
Say , today it s updating the file with value
01-09-2009
Fine. Tomorrow the process will override the file with tomorrow date (02-09-2009) .Insome case the process will overriding the file with empty string.
So I... (1 Reply)
Discussion started by: Gopal_Engg
1 Replies
5. Shell Programming and Scripting
I would like to know the maximum integer that a variable can hold. Actually one of my variable holds value 2231599773 and hence the script fails to process it.Do we have any other data type or options available to handle this long integers? (9 Replies)
Discussion started by: michaelrozar17
9 Replies
6. Shell Programming and Scripting
I've been using sed to help with reformatting some html content into latex slides using the beamer class. Since I'm new to sed, I've been reading a lot about it but I'm stuck on this one problem.
I have text that looks like this:
*******************
line of text that needs to be... (4 Replies)
Discussion started by: tfrei
4 Replies
7. Shell Programming and Scripting
Hi,
Can any one tell me is their any "hold buffer" in perl similar to sed.
I have to find a pattern, once that pattern found then need to go backward and find another pattern and print.
Example:
Below are the contents present in a file
##
block
IPs
URLs
URL_IPs
Unblock
URLs
... (4 Replies)
Discussion started by: Anjan1
4 Replies
8. Shell Programming and Scripting
Hi,
I'm a newbie with scripting so I'd appreciate any help.
I have a file import.txt with below text
AA_IDNo=IDNoHere
AA_Name=NameHere
AA_Address=AddressHere
AA_Telephone=TelephoneHere
AA_Sex=SexHere
AA_Birthday=BirthdayHere
What I need is that the Lines for Name, Address and... (3 Replies)
Discussion started by: heretolearn
3 Replies
9. Shell Programming and Scripting
Hi Experts,
i have a file like below
****
table name is xyz
row count for previous day 10
row count for today 20
diff between previous and today 10
scan result PASSED
****
table name is abc
row count for previous day 90
row count for today 35
diff between previous and today 55... (4 Replies)
Discussion started by: Lakshman_Gupta
4 Replies
10. Shell Programming and Scripting
In log directory file contain log files and files contain some unique job name which is dynamically created (example=55555 ),if job get 55555 then send alert message, but after next run if it find ---55555 then no need send alert message
While checking the first job name you are capturing the Job... (3 Replies)
Discussion started by: Kalia
3 Replies
gets(n) Tcl Built-In Commands gets(n)
__________________________________________________________________________________________________________________________________________________
NAME
gets - Read a line from a channel
SYNOPSIS
gets channelId ?varName?
_________________________________________________________________
DESCRIPTION
This command reads the next line from channelId, returns everything in the line up to (but not including) the end-of-line character(s), and
discards the end-of-line character(s).
ChannelId must be an identifier for an open channel such as the Tcl standard input channel (stdin), the return value from an invocation of
open or socket, or the result of a channel creation command provided by a Tcl extension. The channel must have been opened for input.
If varName is omitted the line is returned as the result of the command. If varName is specified then the line is placed in the variable
by that name and the return value is a count of the number of characters returned.
If end of file occurs while scanning for an end of line, the command returns whatever input is available up to the end of file. If chan-
nelId is in nonblocking mode and there is not a full line of input available, the command returns an empty string and does not consume any
input. If varName is specified and an empty string is returned in varName because of end-of-file or because of insufficient data in non-
blocking mode, then the return count is -1. Note that if varName is not specified then the end-of-file and no-full-line-available cases
can produce the same results as if there were an input line consisting only of the end-of-line character(s). The eof and fblocked commands
can be used to distinguish these three cases.
EXAMPLE
This example reads a file one line at a time and prints it out with the current line number attached to the start of each line.
set chan [open "some.file.txt"]
set lineNumber 0
while {[gets $chan line] >= 0} {
puts "[incr lineNumber]: $line"
}
close $chan
SEE ALSO
file(n), eof(n), fblocked(n), Tcl_StandardChannels(3)
KEYWORDS
blocking, channel, end of file, end of line, line, nonblocking, read
Tcl 7.5 gets(n)