Sponsored Content
Top Forums Shell Programming and Scripting UNIX File handling -Issue in reading a file Post 302445585 by KuldeepSinghTCS on Monday 16th of August 2010 09:28:27 AM
Old 08-16-2010
Data UNIX File handling -Issue in reading a file

I have been doing automation of daily check activity for a server, i have been using sqls to retrive the data and while loop for reading the data from the file for several activities. BUT i got a show stopper the below one.. where the data is getting store in $temp_file, but not being read by while loop. can anyone help in this..wots wrong with this.

Code:
TEMP_FILE=store.tmp
sqlplus -s ${DB_USER}/${DB_PASS}@${DB} > $TEMP_FILE <<EOF
        set pages 0
        set line 120
        SET FEEDBACK OFF
        SELECT username,machine,count(*)as sessions FROM v\$session WHERE status='INACTIVE' GROUP BY username,machine;
        exit; #this is storing result perfectly in file $TEMP_FILE
  EOF
        {
         while read rec; do
         #if [ "${rec}" != "" ] ; then
        echo "line is :$rec"       # nothing is coming (reading)
        usern=`echo $rec|awk '{print $1;}'`
        mach=`echo $rec|awk '{print $2;}'`
        sesn=`echo $rec|awk '{print $3;}'`
        echo "$usern : $mach: $sesn" # nothing is coming
          #fi
        done } < $TEMP_FILE

#Running with set -x /set -v output is as follows
Code:
+ sqlplus -s user/pa55word@myDB
+ 1> store.tmp 0<<
        set pages 0
        set line 120
        SET FEEDBACK OFF
        SELECT username,machine,count(*)as sessions FROM v$session WHERE status='INACTIVE' GROUP BY username,machine;
        exit;
  EOF
        {
         while read rec; do
         #if [ "" != "" ] ; then
        echo "line is :"
        usern=+ awk {print $1;}
+ awk {print $1;}
+ echo
+ echo
 mach=+ awk {print $2;}
+ awk {print $2;}
+ echo
+ echo
        sesn=+ awk {print $3;}
+ awk {print $3;}
+ echo
+ echo

 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

File handling in UNIX

Hi All, I want to read a file in UNIX line by line. Can u suggest me any command for this? (4 Replies)
Discussion started by: VENC22
4 Replies

2. Shell Programming and Scripting

File handling, getopts command in unix

I need to create a shell script having the menu with few options such as 1. Listing 2. Change permissions 3. Modify Contents 4. Delete Files 5. Exit 1. For 1. Listing: Display a special listing of files showing their date of modification and access time (side by side) along with their... (2 Replies)
Discussion started by: bab123
2 Replies

3. UNIX for Advanced & Expert Users

Issue reading csv file

HI All I have csv file containing the data like this Electrical Equipment,ElecEquip "Engineering, Machinery & Equipment",Engineerin Entertainment & Broadcasting,Entertain The first and third record are fine,The issue with second records as it has comma enclosed with in inverted... (1 Reply)
Discussion started by: mohdtausifsh
1 Replies

4. UNIX for Dummies Questions & Answers

issue on reading the file and appending date

Hi Am having issue on appending time stamp I know the exact file names in the directory like a.dat b.dat c.dat e.dat f.dat I want to read all these file names and append the timestamp to each files like a.dat.20090604,b.dat.20090604 and move to the different directory. ... (3 Replies)
Discussion started by: bobprabhu
3 Replies

5. UNIX for Dummies Questions & Answers

File Handling in UNIX

Hi all, I have a requirement here where I am dealing with a dynamic file. Each record in the file can contain anywhere between 1(min) to 42(max) Reject codes. For example I may have one record in the file having 3 reject codes and another record having 5 reject codes. The reject codes will be... (2 Replies)
Discussion started by: sujainarayan
2 Replies

6. Shell Programming and Scripting

Reading UNIX commands from file and redirecting output to a file

Hi All I have written the following script: #!/bin/ksh while read cmdline do echo `$cmdline` pid="$cmdline" done<commands.txt =========== commands.txt contains: ps -ef | grep abc | grep xyz |awk '{print $2}; My objective is to store the o/p of the command in a variable and do... (8 Replies)
Discussion started by: rahulparo
8 Replies

7. Shell Programming and Scripting

UNIX file handling issue

I have a huge file semicolon( ; ) separated records are Pipe(|) delimited. e.g abc;def;ghi|jkl;mno;pqr|123;456;789 I need to replace the 50th field(semicolon separated) of each record with 9006. The 50th field can have no value e.g. ;; Can someone help me with the appropriate command. (3 Replies)
Discussion started by: Gurkamal83
3 Replies

8. UNIX for Dummies Questions & Answers

Large file data handling issue

I have a single record large file, semicolon ';' and pipe '|' separated. I am doing a vi on the file. It is throwing an error "File to long" I need to actually remove the last | symbol from this file. sed -e 's/\|*$//' filename is working fine for small files. But not working on this big... (13 Replies)
Discussion started by: Gurkamal83
13 Replies

9. Shell Programming and Scripting

awk issue while reading from file in while do

Hi Friends, I am trying to scan line by line using awk and pull the values and pass it in variables and then will use the variables but doesn't work. Please see below for details. #more dbtest.sh ---------------------------------- #!/bin/bash . $HOME/.bash_profile while read line do... (6 Replies)
Discussion started by: narunice
6 Replies

10. UNIX for Dummies Questions & Answers

File handling issue

Hi All, I am running into an issue. I have a very big file. Wants to split it in smaller chunks. This file has multiple header/ trailers. Also, between each header/trailer there are records. Number of records in each header trailer combination can vary. Also, headers can start with... (3 Replies)
Discussion started by: Gurkamal83
3 Replies
SADC(8) 							Linux User's Manual							   SADC(8)

NAME
sadc - System activity data collector. SYNOPSIS
/usr/lib/sysstat/sadc [ -C comment ] [ -S { INT | DISK | SNMP | IPV6 | POWER | XDISK | ALL | XALL } ] [ -F ] [ -L ] [ -V ] [ interval [ count ] ] [ outfile ] DESCRIPTION
The sadc command samples system data a specified number of times (count) at a specified interval measured in seconds (interval). It writes in binary format to the specified outfile or to standard output. If outfile is set to -, then sadc uses the standard system activity daily data file, the /var/log/sysstat/sadd file, where the dd parameter indicates the current day. In this case, sadc will overwrite the file if it is from a previous month. By default sadc collects all the data available from the kernel. Exceptions are interrupts and disk data, for which the relevant options must be explicitly passed to sadc (see options below). When the count parameter is not specified, sadc writes its data endlessly. When both interval and count are not specified, and option -C is not used, a dummy record, which is used at system startup to mark the time when the counter restarts from 0, will be written. For exam- ple, one of the system startup script may write the restart mark to the daily data file by the command entry: /usr/lib/sysstat/sadc - The sadc command is intended to be used as a backend to the sar command. Note: The sadc command only reports on local activities. OPTIONS
-C comment When neither the interval nor the count parameters are specified, this option tells sadc to write a dummy record containing the specified comment string. This comment can then be displayed with option -C of sar. -F The creation of outfile will be forced. If the file already exists and has a format unknown to sadc then it will be truncated. This may be useful for daily data files created by an older version of sadc and whose format is no longer compatible with current one. -L sadc will try to get an exclusive lock on the outfile before writing to it or truncating it. Failure to get the lock is fatal, except in the case of trying to write a normal (i.e. not a dummy and not a header) record to an existing file, in which case sadc will try again at the next interval. Usually, the only reason a lock would fail would be if another sadc process were also writing to the file. This can happen when cron is used to launch sadc. If the system is under heavy load, an old sadc might still be run- ning when cron starts a new one. Without locking, this situation can result in a corrupted system activity file. -S { INT | DISK | SNMP | IPV6 | POWER | XDISK | ALL | XALL } Specify which optional activities should be collected by sadc. Some activities are optional to prevent data files from growing too large. The INT keyword indicates that sadc should collect data for system interrupts. The DISK keyword indicates that sadc should collect data for block devices. The SNMP and IPV6 keywords indicate respectively that SNMP and IPv6 statistics should be collected by sadc. The POWER keyword indicates that sadc should collect power management statistics. The ALL keyword is equivalent to speci- fying all the keywords above and therefore all previous activities are collected. The XDISK keyword is an extension to the DISK one and indicates that partition statistics should be collected by sadc in addition to disk statistics. This option works only with kernels 2.6.25 and later. The XALL keyword is equivalent to specifying all the key- words above (including keyword extensions) and therefore all possible activities are collected. Important note: The activities (including optional ones) saved in an existing data file prevail over those selected with option -S. As a consequence, appending data to an existing data file will result in option -S being ignored. -V Print version number then exit. ENVIRONMENT
The sadc command takes into account the following environment variable: S_TIME_DEF_TIME If this variable exists and its value is UTC then sadc will save its data in UTC time. sadc will also use UTC time instead of local time to determine the current daily data file located in the /var/log/sysstat directory. EXAMPLES
/usr/lib/sysstat/sadc 1 10 /tmp/datafile Write 10 records of one second intervals to the /tmp/datafile binary file. /usr/lib/sysstat/sadc -C Backup_Start /tmp/datafile Insert the comment Backup_Start into the file /tmp/datafile. BUGS
The /proc filesystem must be mounted for the sadc command to work. All the statistics are not necessarily available, depending on the kernel version used. sadc assumes that you are using at least a 2.6 kernel. FILES
/var/log/sysstat/sadd Indicate the daily data file, where the dd parameter is a number representing the day of the month. /proc contains various files with system statistics. AUTHOR
Sebastien Godard (sysstat <at> orange.fr) SEE ALSO
sar(1), sa1(8), sa2(8), sadf(1), sysstat(5) http://pagesperso-orange.fr/sebastien.godard/ Linux MAY 2012 SADC(8)
All times are GMT -4. The time now is 02:39 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy