02-12-2009
In my relentless pursuit of programming perfection, and in answer to my question above, I have discovered that the following code does what I am trying to do in the Cshell:
set pds_files = `find . -name "*.[Pp][Dd][Ss]" -print`
if ("$pds_files" != "") then
...
else
...
endif
This works regardless of the presence or absence of any .pds (or .PDS) files. It does seem, however, that I had tried this code previously in my many various permutations of it. One thing I did differently this time, however, was add empty lines separating parts of my code. Is there any conceivable way that adding empty lines can have such an effect?
While I can appreciate that the Cshell is not the best environment for programming, the thought of converting everything over to the Bourne shell makes me go queasy. I appreciate the input re: various sources of help with cshell programming.
Thanks,
Paul H.
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
I'm trying to figure out how to build a small shell script that will find old .shtml files in every /tgp/ directory on the server and delete them if they are older than 10 days...
The structure of the paths are like this:
/home/domains/www.domain2.com/tgp/
/home/domains/www.domain3.com/tgp/... (1 Reply)
Discussion started by: Neko
1 Replies
2. Solaris
Hi,
Under my parent diectory I have directory named "Response" in many of its subfolders. I am interested to see all files with extention .pro in Response Directory. I am giving following command -
find . -name "Response" -type d | xargs -i ls -lrt {}/*.pro
but it is not giving result.
... (3 Replies)
Discussion started by: sanjay1979
3 Replies
3. Shell Programming and Scripting
Hi
I am having a csv file in which lots of data are available wherein i need to find a particular kind of data and replace it with null value.
here is the sample data..
I need to find the string starting with 404-064- and up to the first space i have to remove the data and keep the... (4 Replies)
Discussion started by: aemunathan
4 Replies
4. UNIX for Dummies Questions & Answers
Please help with the following command
tail -f /appdata/logs/alert_audit517.txt | grep "Sep 02"
The problem I have is with the file name "alert_audit517.txt". The 3 digit number at the end of the file name changes, so I need the file name to use a wildcard. Ive tried alert_audit***.txt, but... (5 Replies)
Discussion started by: robertson1995
5 Replies
5. Shell Programming and Scripting
I have a script to fix permissions which is made up of blocks like:
FS_ROOT=/home/shared/Photos
FS_EXCLUDE=( \( -path */.webviews -o -path */.thumbnails \) -prune -o )
find $FS_ROOT ${FS_EXCLUDE} -type d -not -perm 2770 -exec chmod 2770 "{}" \;
That fragment works as expected, but no matter... (3 Replies)
Discussion started by: mij
3 Replies
6. Shell Programming and Scripting
I want to look if there is any file inside a specific directory which was modified before 2 days.
I wrote the find command, but the problem is there is one directory and that is a random directory generated by unix, so not sure on how to code for that on the find command.
find... (5 Replies)
Discussion started by: srini0603
5 Replies
7. Shell Programming and Scripting
Hello,
I am fairly new to Linux in general and I am trying to use SED to make some replacements in a file. Below is sample of what the file is like.
<Grouping id="024"><Source>ABC</Source><GroupingKey>000000000816</GroupingKey></Grouping><Grouping... (9 Replies)
Discussion started by: runforfun7
9 Replies
8. UNIX for Dummies Questions & Answers
HI Guys,
I hope you are well. I am trying to write a script that gets executed every time i open a shell (cshell). I have two questions about that
1) I need to enter these commands
$ echo $DISPLAY
$ setenv $DISPLAY output_of_echo_$display_command
How can i write a... (2 Replies)
Discussion started by: kaaliakahn
2 Replies
9. UNIX for Advanced & Expert Users
Hi All
I am using GNU/Linux
This is regarding the get command to retrieve files (filename with wild card characters) from remote server.
I thought Get command can retrieve only 1 file irrespective of the files it has on the remote server And it is the function of mget to retrieve all... (7 Replies)
Discussion started by: sparks
7 Replies
10. UNIX for Beginners Questions & Answers
HI there,
I am trying to find and replace with wildcard with
data
chr1 69511 69511 A G 1/1:0,34:791,78,0:78:34 0/1:55,60:1130,0,1513:99:116 1/1:0,28:630,63,0:63:28 0/1:0,34:626,57,0:57:34
To this
chr1 69511 69511 A G homo hetero homo hetero
Where I find and replace 0/1 with... (3 Replies)
Discussion started by: daashti
3 Replies
UNIFDEF(1) General Commands Manual UNIFDEF(1)
NAME
unifdef - remove ifdef'ed lines
SYNOPSIS
unifdef [ -t -l -c -Dsym -Usym -idsym -iusym ] ... [ file ]
DESCRIPTION
Unifdef is useful for removing ifdef'ed lines from a file while otherwise leaving the file alone. Unifdef is like a stripped-down C pre-
processor: it is smart enough to deal with the nested ifdefs, comments, single and double quotes of C syntax so that it can do its job, but
it doesn't do any including or interpretation of macros. Neither does it strip out comments, though it recognizes and ignores them. You
specify which symbols you want defined -Dsym or undefined -Usym and the lines inside those ifdefs will be copied to the output or removed
as appropriate. The ifdef, ifndef, else, and endif lines associated with sym will also be removed. Ifdefs involving symbols you don't
specify are untouched and copied out along with their associated ifdef, else, and endif lines. If an ifdef X occurs nested inside another
ifdef X, then the inside ifdef is treated as if it were an unrecognized symbol. If the same symbol appears in more than one argument, only
the first occurrence is significant.
The -l option causes unifdef to replace removed lines with blank lines instead of deleting them.
If you use ifdefs to delimit non-C lines, such as comments or code which is under construction, then you must tell unifdef which symbols
are used for that purpose so that it won't try to parse for quotes and comments in those ifdef'ed lines. You specify that you want the
lines inside certain ifdefs to be ignored but copied out with -idsym and -iusym similar to -Dsym and -Usym above.
If you want to use unifdef for plain text (not C code), use the -t option. This makes unifdef refrain from attempting to recognize com-
ments and single and double quotes.
Unifdef copies its output to stdout and will take its input from stdin if no file argument is given. If the -c argument is specified, then
the operation of unifdef is complemented, i.e. the lines that would have been removed or blanked are retained and vice versa.
SEE ALSO
diff(1)
DIAGNOSTICS
Premature EOF, inappropriate else or endif.
Exit status is 0 if output is exact copy of input, 1 if not, 2 if trouble.
BUGS
Does not know how to deal with cpp consructs such as
#if defined(X) || defined(Y)
AUTHOR
Dave Yost
4.3 Berkeley Distribution April 29, 1985 UNIFDEF(1)