Sponsored Content
Full Discussion: Strange output from grep
Top Forums UNIX for Dummies Questions & Answers Strange output from grep Post 57656 by Bab00shka on Thursday 4th of November 2004 09:48:57 AM
Old 11-04-2004
Question Strange output from grep

Hi,

I am getting different output for grep depending which directory I am in.
The following is a transcript of my session, I am using egrep but have also used grep -E. The directory names have been changed for security:

$pwd
/dir1/dir2/dir3/dir4
$echo 000000 |egrep -v [0-1][0-9][0-5][0-9][0-5][0-9]
$echo $?
1
$cd ..
$pwd
/dir1/dir2/dir3
$echo 000000 |egrep -v [0-1][0-9][0-5][0-9][0-5][0-9]
000000
$echo $?
0
$cd ..
$pwd
/dir1/dir2
$echo 000000 |egrep -v [0-1][0-9][0-5][0-9][0-5][0-9]
$echo $?
1
$

It appears the output from egrep when run in directory /dir1/dir2/dir3 is the opposite of what I would expect

/dir1/dir2/dir3 and /dir1/dir2/dir3/dir4 are on the same volume.
I have checked and there is only one instance of egrep on the whole server.
The permissions of the directories are as follows

drwxr-xr-x /dir1/dir2
drwxrwxrwx /dir1/dir2/dir3
drwxr-xr-x /dir1/dir2/dir3/dir4

We can't work out why this is happening. Can anyone help?

Many thanks
Helen Smilie
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

strange output

I had a similar script in solaris and it had no problem. I wrote this one in freeBSD and it gave me strange output. Can anyone please tell me why? thanks a lot #!/bin/sh #This is a shell script that checks file system capacity mounted on /home directory #If file system is over 90% capacity,... (1 Reply)
Discussion started by: k2k
1 Replies

2. Shell Programming and Scripting

Strange problem with grep

Hi All, I got strucked with some strange problem, I wrote a command for removing line which has '/' character . command is grep -v "^/" $filename > directory/outfile.txt. This command is working well at command prompt but when I put this command in a file file2.ksh and calling from... (2 Replies)
Discussion started by: krishna_gnv
2 Replies

3. Solaris

Getting strange output of who -r command

Hi At OK> prompt, I have run the boot -s command After system is coming on to multiuser state, when I run the " who -r" command, I get the following message # who -r run-level Oct 17 03:48 last= Means I dont see "S" after run-level keyword. Could any one... (2 Replies)
Discussion started by: amity
2 Replies

4. Solaris

Strange df output on solaris 9

Hi all, After deleting some large log files on solaris 9 machine I can see strange df output shows below /dev/vx/dsk/rootvol 45G 16384E 50G 39879076698694% / I thought it will back to normal once I restart it but did not. I have seen in sunsolve article 6362734 that "Solaris 8... (0 Replies)
Discussion started by: rajashekar333
0 Replies

5. Shell Programming and Scripting

Tcl:Very strange output!!

Hi, I using tcl script to perform certain conditions. Part of the results should have average . I couldn't figure out what 's the cause as the result of the average is Zero. Example of the case???? #!/usr/bin/tclsh set counter 500 set total 1000 puts "Total num: $total \n" puts ... (3 Replies)
Discussion started by: ENG_MOHD
3 Replies

6. UNIX for Advanced & Expert Users

strange output with du

Can someone please explain why I get two outputs with the du command? The first one gave me one. I also didn't ask for the second directory so why did it give that directory? $ du -h "/media/Part 1/Desktop/playlist" 775M /media/Part 1/Desktop/playlist $ du -h "/media/Part... (1 Reply)
Discussion started by: cokedude
1 Replies

7. Shell Programming and Scripting

Strange output from find

How can I prevent find from outputting the directory name /home/xxxxxxxx/Backup/.system (which isn't even "other writable"? I am trying to search for files that are "world writable" on a shared web host using the find statement, and I want to prevent find from creating an error (because the of... (4 Replies)
Discussion started by: nixie
4 Replies

8. Shell Programming and Scripting

Echo's strange output

Hi, Kindly help me to understand the behavior or logic of the below shell command $ echo $!# echo $echo $ $ $ echo !$# echo $# 0 I am using GNU bash, version 3.2.25(1)-release (2 Replies)
Discussion started by: royalibrahim
2 Replies

9. Shell Programming and Scripting

Strange behavior of grep

Hi All, I am facing a strange problem while grepping for a process. Here is the small script that i have written. It will look for any process running with the parameter passed to the script. If no process is running it should print appropriate message. $ cat t.ksh #!/bin/ksh set -x ... (9 Replies)
Discussion started by: veeresh_15
9 Replies

10. Programming

Very strange output with casting

Hi All, I am having a strange issue. Below is the code snippet. If I print fraction * (double)::pow((double)10,scalingFactor) which is a double I am getting 154 when I type cast that to int as (int)( ((fraction) * ((double)::pow((double)10,scalingFactor)))) it is becoming 153. Not sure why... (0 Replies)
Discussion started by: arunkumar_mca
0 Replies
scandir(3)						     Library Functions Manual							scandir(3)

NAME
scandir, alphasort - Scans or sorts directory contents LIBRARY
Standard C Library (libc.a) SYNOPSIS
#include <sys/types.h> #include <sys/dir.h> int scandir ( char *dir_name, struct dirent * (*name_list[ ]), int (*select) ( struct dirent *dir ), int (*compare) ( struct dirent **dir1, struct dirent **dir2 ) ); int alphasort ( struct dirent **dir1, struct dirent **dir2 ); PARAMETERS
Points to the directory name. Points to the array of pointers to directory entries. Points to a user-supplied function that is called by the scandir() function to select which entries to include in the array. Points to a user-supplied function that sorts the completed array. Points to a dirent structure. Points to a dirent structure. DESCRIPTION
The scandir() function reads the directory pointed to by the dir_name parameter. It then uses the malloc() function to create an array of pointers to directory entries. The scandir() function returns the number of entries in the array and, through the name_list parameter, a pointer to the array. The select parameter points to a user-supplied function that the scandir() function calls to select which entries to include in the array. The selection routine is passed a pointer to a directory entry and returns a nonzero value for a directory entry that is included in the array. If the select parameter is a null value, all directory entries are included. The compare parameter points to a user-supplied function that is passed to the qsort() function to sort the completed array. If the compare parameter is a null value, the array is not sorted. The memory allocated to the array can be deallocated by freeing each pointer in the array, and the array itself, with the free() function. The alphasort() function alphabetically compares the two dirent structures pointed to by the dir1 and dir2 parameters. This function can be passed as the compare parameter to either the scandir() function or the qsort() function. A user-supplied subroutine may also be used. RETURN VALUES
The scandir() function returns -1 if the directory cannot be opened for reading or if the malloc() function cannot allocate enough memory to hold all the data structures. If successful, the scandir() function returns the number of entries found. The alphasort() function returns the following values: Less than 0 (zero): The dirent structure pointed to by the dir1 parameter is lexi- cally less than the dirent structure pointed to by the dir2 parameter. 0 (zero): The dirent structures pointed to by the dir1 parameter and the dir2 parameter are equal. Greater than 0 (zero): The dirent structure pointed to by the dir1 parameter is lexically greater than the dirent structure pointed to by the dir2 parameter. RELATED INFORMATION
Functions: malloc(3), opendir(3), qsort(3) delim off scandir(3)
All times are GMT -4. The time now is 09:19 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy