Beginner? This is one of the better ksh codes that I have seen. And believe me - I have seen plenty od it.
You must be joking! It's extremely inefficient and poorly written code.
Quote:
Some hints that might help you:
- Try enclosing variables with quotes: variable="${var}" (the way you are using could work fine but under some circumstances you can get into problems - an example is when ${var} is equal to 'some text with $trange characters').
It is never necessary to quote the assignment of one variable to another; it doesn't matter what the variable contains. It only needs to be quoted when there is a literal space in the assignment:
Quote:
- I'm not sure if there is a need to enclose that function within brackets - if I remember correct you should be able to "print" the file into the loop without brackets
There's no need, but it doesn't hurt.
Quote:
- Send this sid_home.txt file and make sure that the problem is not related to end of line characters (unix/max/windows format) - if you send it then I could take a look onto it
Why? All that's needed is to look at the file with od -c and look for \r characters.
However, it would help to post a few lines of the file so we can see what the input to the loop contains.
It should contain a list of filenames, since $LINE is being used as a filename argument to the (probably unnecessary) awk commands.
Quote:
- Use tabulation - this code you have sent is not very readable
I think you mean indentation. That's always good, and more importantly, code posted to this forum should always be enclosed in [code] tags.
Quote:
- You might try the alternative syntax as well (might be worth giving a try): cat "${file}" |
Why would you use cat? It cannot make any difference.
Quote:
while $(read LINE);do ... done
What do you think while $(read LINE) does?
The assignment to LINE only lasts for the duration of the subshell inside $( ... ); it will not be available to the rest of the script.
In other words, it does nothing.
Quote:
- Execute your code with "set -x;set -v" and check the output. You might try some debuggers as well.
Hi -
I have a file that contains data in this format:-
#comment
value1 value2 value3
#comment
value4 value5 value6 value7
#comment
value8 value9
I need to read value1, value2 and value3 into one array, value4 value5 value6 and value7 into another array and value8 and value9 into a 3rd... (2 Replies)
Hi Sorry to multipost. I am opening the new thread because the earlier threads head was misleading to my current doubt.
and i am stuck.
list=`cat /u/Test/programs`;
psg "ServTest" | awk -v listawk=$list '{
cmd_name=($5 ~ /^/)? $9:$8
for(pgmname in listawk)
... (6 Replies)
So, I want to read line-by-line a text file with unknown number of files....
So:
a=1
b=1
while ; do
b=`sed -n '$ap' test`
a=`expr $a + 1`
$here do something with b etc
done
the problem is that sed does not seem to recognise the $a, even when trying
sed -n ' $a p'
So, I cannot read... (3 Replies)
So, the beginning of my script will cat & grep a file with the output directed to a new file. The data I have in this file needs to be parsed, read and evaluated.
Basically, I need to identify the latest date/time stamp and then calculate whether or not it is within 15 minutes of the current... (1 Reply)
Hi,
For my reuirement, I have to read a file from the 2nd line till the last line<EOF>.
Say,
I have a file as test.txt, which as a header record in the first line followed by records in rest of the lines.
for i in `cat test.txt`
{
echo $i
}
While doing the above loop, I have read... (5 Replies)
I need some help. I would like to read in a text file.
Take a variable such as ROW-D-01, compare it to what's in one line in the text file such as PROD/VM/ROW-D-01 and only input PROD/VM into a variable without the /ROW-D-01.
Is this possible? any help is appreciated. (2 Replies)
Hi,
i have a scenario were i should compare a few fields from each line then increment a variable based on that.
Example file
989878|8999|Y|0|Y|N|V
989878|8999|Y|0|N|N|V
989878|8999|Y|2344|Y|N|V
i have 3 conditions to check and increment a variable on every line
condition 1 if ( $3... (4 Replies)
Hi,
I want to read a live log file line by line and considering those line which start from time stamp;
Below code I am using, which read line but throws an exception when comparing line that does not contain error code
tail -F /logs/COMMON-ERROR.log | while read myline; do... (2 Replies)
Hi All,
i want to write a shell script read below file line by line and want to exclude the lines which contains empty value for MOUNTPOINT field.
i am using centos 7 Operating system.
want to read below file.
# cat /tmp/d5
NAME="/dev/sda" TYPE="disk" SIZE="60G" OWNER="root"... (4 Replies)