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
LOSETUP(8)						       System Administration							LOSETUP(8)

NAME
losetup - set up and control loop devices SYNOPSIS
Get info: losetup loopdev losetup -l [-a] losetup -j file [-o offset] Delete loop: losetup -d loopdev... Delete all used loop devices: losetup -D Print name of first unused loop device: losetup -f Setup loop device: losetup [-o offset] [--sizelimit size] [-p pfd] [-rP] {-f[--show]|loopdev} file Resize loop device: losetup -c loopdev DESCRIPTION
losetup is used to associate loop devices with regular files or block devices, to detach loop devices and to query the status of a loop device. If only the loopdev argument is given, the status of the corresponding loop device is shown. Note that the old output format (e.g. losetup -a) with comma delimited strings is deprecated in favour of the --list output format (e.g. losetup -a -l). OPTIONS
+The size and offset arguments may be followed by the multiplicative +suffixes KiB=1024, MiB=1024*1024, and so on for GiB, TiB, PiB, EiB, ZiB and YiB +(the "iB" is optional, e.g. "K" has the same meaning as "KiB") or the suffixes +KB=1000, MB=1000*1000, and so on for GB, TB, PB, EB, ZB and YB. -a, --all show status of all loop devices. Note that not all information are accessible for non-root users. See also --list. The old output format (as printed without --list) is deprecated. -c, --set-capacity loopdev force loop driver to reread size of the file associated with the specified loop device -d, --detach loopdev... detach the file or device associated with the specified loop device(s) -D, --detach-all detach all associated loop devices -f, --find find the first unused loop device. If a file argument is present, use this device. Otherwise, print its name -h, --help print help -j, --associated file show status of all loop devices associated with given file -l, --list if a loop device or the -a option is specified, print default columns for either the specified loop device or all loop devices, default is to print info about all devices. -o, --offset offset the data start is moved offset bytes into the specified file or device -O, --output columns specify which columns are to be printed for the --list output --sizelimit size the data end is set to no more than size bytes after the data start -P, --partscan force kernel to scan partition table on newly created loop device -r, --read-only setup read-only loop device --show print device name if the -f option and a file argument are present. -v, --verbose verbose mode ENCRYPTION
Cryptoloop is no longer supported in favor of dm-crypt. For more details see cryptsetup(8). RETURN VALUE
losetup returns 0 on success, nonzero on failure. When losetup displays the status of a loop device, it returns 1 if the device is not con- figured and 2 if an error occurred which prevented from determining the status of the device. FILES
/dev/loop[0..N] loop block devices /dev/loop-cotrol loop control device EXAMPLE
The following commands can be used as an example of using the loop device. # dd if=/dev/zero of=~/file.img bs=1MiB count=10 # losetup --find --show ~/file.img /dev/loop0 # mkfs -t ext2 /dev/loop0 # mount /dev/loop0 /mnt ... # umount /dev/loop0 # losetup --detach /dev/loop0 AUTHORS
Karel Zak <kzak@redhat.com>, based on original version from Theodore Ts'o <tytso@athena.mit.edu> AVAILABILITY
The losetup command is part of the util-linux package and is available from ftp://ftp.kernel.org/pub/linux/utils/util-linux/. util-linux July 2003 LOSETUP(8)
All times are GMT -4. The time now is 03:10 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy