Looks like you have already defined it correctly, when you were talking about "reads entire content in-memory".
Quote:
Originally Posted by angshuman_ag
Is it correct ?
Why not?
However I tested following and it worked, but there is at least one disadvantage, namely, the while loop processes the lines pretty slow, because it checks the file size for each line:
When the loop was as 570th record, i emptied the file whiletest "> whiletest" from another terminal and the loop stopped immediately.
In theory the loop should also stop when one adds some lines to the file whiletest as well as when one removes a couple of lines from it.
Hope this is what you tried to achieve.
This User Gave Thanks to pseudocoder For This Post:
This seems to be implementation dependant. When a process opens a file for reading/writing, the operating system loads a chunk of the file in memory for the process to read/write. So when the process has done reading with that chunk, the OS loads another chunk. This is implementation dependant.
I tried the opposite, as the while loop was executing, I added a few more entries to the end of the file(cat >> file) and while read them all. So while has a dynamic behaviour which is OS dependant.
So I can conclude that it depends on two factors - 1. size of the file 2.OS policy.
However this behaviour will cause haphazard results. Its unpredictable way to achieve things.
Regards,
gaurav.
Hello,
Calling "rm" only removes the "inode" entry from the inode table(via `unlink` syscall). It does not wipe out the memory(memset or similar). So the contents can still be accessed by the process "while loop" in our case. The only thing is that the file cannot be accessed later by other processes as it doesnt have an inode entry.
Calling "rm" only removes the "inode" entry from the inode table(via `unlink` syscall). It does not wipe out the memory(memset or similar). So the contents can still be accessed by the process "while loop" in our case. The only thing is that the file cannot be accessed later by other processes as it doesnt have an inode entry.
The file continues to be accessible to the script because the script has an open file handle at the time the file was rm'ed. Even if the inode count is zero, the file is not marked deleted until all open file handles are closed. This is the expected behavior. Nothing to do with memory.
Hello.
System : opensuse leap 42.3
I have a bash script that build a text file.
I would like the last command doing :
print_cmd -o page-left=43 -o page-right=22 -o page-top=28 -o page-bottom=43 -o font=LatinModernMono12:regular:9 some_file.txt
where :
print_cmd ::= some printing... (1 Reply)
Hi everybody,
I am new at Unix/Bourne shell scripting and with my youngest experiences, I will not become very old with it :o
My code:
#!/bin/sh
set -e
set -u
export IFS=
optl="Optl"
LOCSTORCLI="/opt/lsi/storcli/storcli"
($LOCSTORCLI /c0 /vall show | grep RAID | cut -d " "... (5 Replies)
How to use "mailx" command to do e-mail reading the input file containing email address, where column 1 has name and column 2 containing “To” e-mail address
and column 3 contains “cc” e-mail address to include with same email.
Sample input file, email.txt
Below is an sample code where... (2 Replies)
dear all,
i got some questions about for/while loop when working on redirect command output to for/while loop.
take one for example :
in for loop :
allfiles=`find /var/log -maxdepth 1 -type f -mtime +5`
index=1
for ((i=0; i<${#allfiles}; i++)); do
echo "$index:${allfiles}"
... (2 Replies)
Hi,
I have line in input file as below:
3G_CENTRAL;INDONESIA_(M)_TELKOMSEL;SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL
My expected output for line in the file must be :
"1-Radon1-cMOC_deg"|"LDIndex"|"3G_CENTRAL|INDONESIA_(M)_TELKOMSEL"|LAST|"SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL"
Can someone... (7 Replies)
hi,
I have a problem about the Oracle related components. I'm not able to find any answer yet, and waiting for your responses...
Here is the configuration of my system:
* an IBM P550 machine,
* an AIX 5.3 running on it and
* an oracle database, already installed on it.
The problem (or... (1 Reply)
hi,
I have
* an IBM P550 machine,
* an AIX 5.3 running on it and
* an oracle database, already installed on it.
The problem (or question of my own) is:
Oracle tns listener, "CT_LISTENER", and the enterprise manager (EM) of the instance, which is uniq instance and called... (0 Replies)
Hi Friends,
Can any of you explain me about the below line of code?
mn_code=`env|grep "..mn"|awk -F"=" '{print $2}'`
Im not able to understand, what exactly it is doing :confused:
Any help would be useful for me.
Lokesha (4 Replies)