06-18-2009
Using GREP for special characters
Hi folks
I am issuing the following command:
grep "[\/:*?"<>|#+%&]" *
Looking for the characters \/:*?"<>|#+%& within all files in a directory, but the command fails being unhappy with pipe:
ksh: 0403-057 Syntax error: `|' is not expected.
How do I force the command to take the pipe | ? I guess the same is for *some* of the other symbols.
Regards, Dave
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
I need to sort a file, the sort is not a alphabetical sort, it's based on a predefined order which is read from a file called fSortOrder.
The format of the fSortOrder file is :
STARTPATH"
....
....
The file that needs to be sorted is called tmpUnsorted and contains data in the format : ... (6 Replies)
Discussion started by: Vashj
6 Replies
2. UNIX Desktop Questions & Answers
Hi there
I need to grep for a detail from a file. The pattern to search for involves escape sequences in it. This causes for the problem.
grep "P\_SOME\_STRING\_SEARCH" filename
Note, I have line like below in the file and expect it to grep.
select *
from my_system_param
... (3 Replies)
Discussion started by: guruparan18
3 Replies
3. Shell Programming and Scripting
I have a file that I am processing with a while loop from, in come cases the grep/sed command (strings record | grep “errorDetail” | sed 's&*errorDetail\(.*)\(/errorDetail\).*&\1&') works and produces the data I am after and in some it does not. I have inspected the data within the failing... (3 Replies)
Discussion started by: gugs
3 Replies
4. UNIX for Dummies Questions & Answers
Hello,
i have a file called test
hello1
"how" are you4
good"bye"
good7bye
i am trying to print all lines from test that either end with a digit or contain a double quote character anywhere on the line.
i did
grep -n '$' test and was able to print lines ending with digits.
i also did... (2 Replies)
Discussion started by: hobiwhenuknowme
2 Replies
5. Shell Programming and Scripting
I'm looking for SED equivalent for grep -w -f. All I want is to search a list of patterns from a file. Also If the pattern doesn't match I do not want "null returned", rather I would prefer some text as place holder say "BLANK LINE" as I intend to process the output file based on line number.
... (1 Reply)
Discussion started by: novice_man
1 Replies
6. UNIX for Advanced & Expert Users
Hey guys,
I have a file with an ID which I'm using to grep out the original record from another file. Problem is I have special characters in the original file, and grep is returning only a partial record. How can I get around this?
Appreciate your help!
Pete (3 Replies)
Discussion started by: peteroc
3 Replies
7. Shell Programming and Scripting
Need Help For GREP
I have a file say g1.txt and content of file is below
REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" /v NoDrives /t REG_DWORD /d 4 /f ,
REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" /v NoClose /t REG_DWORD /d 1 /f ,... (4 Replies)
Discussion started by: jalpasoni
4 Replies
8. Shell Programming and Scripting
Is there any command or shell script to grep any special character from a file ? I have a huge file containing millions of user names; the requirement is to find names containing special characters.
#!/bin/bash
for i in `cat username.txt`
do
#COMMAND to grep special character
done
... (3 Replies)
Discussion started by: poga
3 Replies
9. Shell Programming and Scripting
Hi,
I have a file which has numerous lines and some of the lines having special characters in it. i want to grep the lines which are having special characters.
say,
one line looks like - %*()$#@"", | acbd
antoher line looks like ***##^%! | efcg
so these kind of lines are present... (5 Replies)
Discussion started by: rbalaj16
5 Replies
10. Shell Programming and Scripting
If I have a file like the following
abc.1
abc
abc_1
abc..1
abc*1
abc@1
abc def ghr
def......
ddef 5466 def ed
def** 123445
I`m trying to find exact words from the list
abc
def (4 Replies)
Discussion started by: ritakadm
4 Replies
POPEN(3) Linux Programmer's Manual POPEN(3)
NAME
popen, pclose - process I/O
SYNOPSIS
#include <stdio.h>
FILE *popen(const char *command, const char *type);
int pclose(FILE *stream);
DESCRIPTION
The popen() function opens a process by creating a pipe, forking, and invoking the shell. Since a pipe is by definition unidirectional,
the type argument may specify only reading or writing, not both; the resulting stream is correspondingly read-only or write-only.
The command argument is a pointer to a null-terminated string containing a shell command line. This command is passed to /bin/sh using the
-c flag; interpretation, if any, is performed by the shell. The mode argument is a pointer to a null-terminated string which must be
either `r' for reading or `w' for writing.
The return value from popen() is a normal standard I/O stream in all respects save that it must be closed with pclose() rather than
fclose(). Writing to such a stream writes to the standard input of the command; the command's standard output is the same as that of the
process that called popen(), unless this is altered by the command itself. Conversely, reading from a ``popened'' stream reads the com-
mand's standard output, and the command's standard input is the same as that of the process that called popen.
Note that output popen streams are fully buffered by default.
The pclose function waits for the associated process to terminate and returns the exit status of the command as returned by wait4.
RETURN VALUE
The popen function returns NULL if the fork(2) or pipe(2) calls fail, or if it cannot allocate memory.
The pclose function returns -1 if wait4 returns an error, or some other error is detected.
ERRORS
The popen function does not set errno if memory allocation fails. If the underlying fork() or pipe() fails, errno is set appropriately.
If the mode argument is invalid, and this condition is detected, errno is set to EINVAL.
If pclose() cannot obtain the child status, errno is set to ECHILD.
CONFORMING TO
POSIX.2
BUGS
Since the standard input of a command opened for reading shares its seek offset with the process that called popen(), if the original
process has done a buffered read, the command's input position may not be as expected. Similarly, the output from a command opened for
writing may become intermingled with that of the original process. The latter can be avoided by calling fflush(3) before popen.
Failure to execute the shell is indistinguishable from the shell's failure to execute command, or an immediate exit of the command. The
only hint is an exit status of 127.
HISTORY
A popen() and a pclose() function appeared in Version 7 AT&T UNIX.
SEE ALSO
fork(2), sh(1), pipe(2), wait4(2), fflush(3), fclose(3), fopen(3), stdio(3), system(3)
BSD MANPAGE
1998-05-07 POPEN(3)