while executes commands as long as a test succeeds.
read will not succeed at EOF from taskfile.txt and the loop will stop.
if the last line is not in fact a line (it doesn't end with \n), then you will reach EOF before read reaches the delimiter. An example:
Code:
mute@zbox:~$ printf '1\n2\n3' > file
mute@zbox:~$ while read -r a b c; do echo "$a"; done < file
1
2
mute@zbox:~$
Text files by definition should end with a newline, but if this is the problem you need to work around you can try entering your loop again with a test like this:
Code:
mute@zbox:~$ while read -r a b c || [[ $a ]]; do echo "$a"; done < file
1
2
3
Hi everyone,
Ive got a quick question about the feasibility and any suggestions for a shell script. I can use sh or ksh, doesnt matter. Basically, Ive got an output file from a db2 command that looks like so:
SCHEMA NAME CARD LEAF ELEAF LVLS ISIZE NDEL KEYS F4 F5 ... (3 Replies)
Hi intelligent beings,
I am trying to write a script that
1. Accepts the following arguments:
store_number
div_number
user_id
div_code
2. Will read from a configuration file to get the Database
3. Use the div_code to determine which value to retrieve from the configuration file
... (1 Reply)
Hi,
Lets say I have a script "ss" which does this
read abc
echo $abc
read pqr
echo $pqr
Now if I want to pass and argument to only "abc" how do I do it.
If I do
echo "somevalue" | ss, it does not prompt for pqr and its value comes out as blank.
Any help is appreciated
Thanks
P (6 Replies)
Hi all,
I am new to shell scripting.
I have dbf file and I need to convert it into csv file.
OR, can i read the fields from a .dbf file and OR seprate the records in dbf file and put into .csv or txt.
Actually in the .dbf files I am getting , the numbers of fields may vary in very record and... (6 Replies)
Hi I am trying to write a shell script that is reading all the scripts in the current directory (currently 5) and is allowing me to run the scripts that is in the directory.
I want that this scripts asks te user to execute 1 of the listed scripts.
I have 4 sample scripts in the directory:... (8 Replies)
hi all,
Currently in my system a user's password expires after 90 days and the last passsword change time is stored in an attribute pwdchange date. i need a linux script that read this attribute and add 89 days and send an email that the user password is expiring the next day.
i can store... (1 Reply)
I was analyzing the Disk read using hdparm utility.
This is what i got as a result.
# hdparm -t /dev/sda
/dev/sda:
Timing buffered disk reads: 108 MB in 3.04 seconds = 35.51 MB/sec
# hdparm -T /dev/sda
/dev/sda:
Timing cached reads: 3496 MB in 1.99 seconds = 1756.56 MB/sec... (1 Reply)
Hi
I am looking for an easy way to lock game mode (0) for everyone included op on a Minecraft server. It can be a script that every time a player changes game to 1 the script changes back to 0. What the player writes is visible in the java console. I am not good at script programming and my... (0 Replies)
cleanwork /saswork removes sas orphanded processes in the saswork directory. Subdirectories under sasem are sas94, sas92 and sasworks .
I am getting the following error messages:
1.
'/usr/bin/sudo -S apt-get update <~/opt/SiM/pos/ps/db_auth.cfg... (4 Replies)
Hello Unix Shell Script Experts,
I have a script that would mask the columns in .csv file or .txt file.
First the script will untar the .zip files from Archive folder and processes into work folder and finally pushes the masked .csv files into Feed folder.
Two parameters are passed
... (5 Replies)
Discussion started by: Mahesh G
5 Replies
LEARN ABOUT PHP
fgets
FGETS(3) 1 FGETS(3)fgets - Gets line from file pointerSYNOPSIS
string fgets (resource $handle, [int $length])
DESCRIPTION
Gets a line from file pointer.
PARAMETERS
o $handle
-The file pointer must be valid, and must point to a file successfully opened by fopen(3) or fsockopen(3) (and not yet closed by
fclose(3)).
o $length
- Reading ends when $length - 1 bytes have been read, or a newline (which is included in the return value), or an EOF (whichever
comes first). If no length is specified, it will keep reading from the stream until it reaches the end of the line.
Note
Until PHP 4.3.0, omitting it would assume 1024 as the line length. If the majority of the lines in the file are all larger
than 8KB, it is more resource efficient for your script to specify the maximum line length.
RETURN VALUES
Returns a string of up to $length - 1 bytes read from the file pointed to by $handle. If there is no more data to read in the file
pointer, then FALSE is returned.
If an error occurs, FALSE is returned.
CHANGELOG
+--------+-----------------------------+
|Version | |
| | |
| | Description |
| | |
+--------+-----------------------------+
| 4.3.0 | |
| | |
| | fgets(3) is now binary safe |
| | |
+--------+-----------------------------+
EXAMPLES
Example #1
Reading a file line by line
<?php
$handle = @fopen("/tmp/inputfile.txt", "r");
if ($handle) {
while (($buffer = fgets($handle, 4096)) !== false) {
echo $buffer;
}
if (!feof($handle)) {
echo "Error: unexpected fgets() fail
";
}
fclose($handle);
}
?>
NOTES
Note
If PHP is not properly recognizing the line endings when reading files either on or created by a Macintosh computer, enabling the
auto_detect_line_endings run-time configuration option may help resolve the problem.
Note
People used to the 'C' semantics of fgets(3) should note the difference in how EOF is returned.
SEE ALSO fgetss(3), fread(3), fgetc(3), stream_get_line(3), fopen(3), popen(3), fsockopen(3), stream_set_timeout(3).
PHP Documentation Group FGETS(3)