Sponsored Content
Top Forums UNIX for Dummies Questions & Answers AIX - find also in symbolic link Post 302875115 by Don Cragun on Monday 18th of November 2013 01:59:10 PM
Old 11-18-2013
Quote:
Originally Posted by nash83
Hi,
i tried to search a string, recursively, in subdirectories with:

find . -type f -print | xargs grep -s hello
i found all files that contain the string "hello"

but i would perform a search also in symbolic link, so i tried with
find -L . -print | xargs grep -s hello
but no result was returned ?

Could you help me, please ?
The grep utility searches for text in the file a symbolic link points to; it does not search for text in the symbolic link itself. Some systems provide a readlink utility that will display the contents of a symbolic link that could be used as:
Code:
find . -type l -exec grepsym hello {} +

where grepsym is the following shell script:
Code:
#!/bin/ksh
pattern="$1"
shift
for i in "$@"
do	if readlink "$i" | grep -q "$pattern"
	then	printf "%s: " "$i"; readlink "$i"
	fi
done

If your system doesn't come with a readlink utility, it is easy to write a C program that prints the results returned by readlink(argv[1]).

Depending on your application, you might also be able to use the output of ls -l symlink (which will display the contents of symlink at the end of the output.

PS: It is not necessarily true that:
Code:
find -L . -type l -print

will not print anything. That command will print the names of every symbolic link in and under the current directory that points to a file that does not exist.

Last edited by Don Cragun; 11-18-2013 at 03:01 PM.. Reason: Fix auto-correct induced typos.
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

symbolic Link

question abt symbolic link ... i'm doing the following ... ln -s x.sh ./scripts/y.sh and cat ./scripts/y.sh it is giving following error cat: cannot open y.sh Any reason u an think of ? But it is working fine when i goto scripts directory and cretae the symbolic link. ... (1 Reply)
Discussion started by: bhargav
1 Replies

2. UNIX for Dummies Questions & Answers

need some info about symbolic link and hard link

hello folks how y'all doin well i have some questions about symbolic link and hard link hope some one answer me i open terminal and join as root and i wrote ln -s blah blah then i wrote ls i see red file called blah blah but didn't understand what is this can some one explain and... (2 Replies)
Discussion started by: detective linux
2 Replies

3. UNIX for Dummies Questions & Answers

How to find .dat file in symbolic link

Hi, I am trying to find all files in a directory that have .dat and .int extensions and removing them. rm -f `find ${MY_DIR} -type f -name '*.dat' -o -name '*.int'` This works fine if $MY_DIR is a regular directory. However when $MY_DIR is a symbolic link then this command fails. How... (1 Reply)
Discussion started by: neeto
1 Replies

4. Shell Programming and Scripting

symbolic link

Hi, i am trying to create sym links on sles 11 , but it seems i am doing something wrong. oracle@tests:/u01/app/oracle/oradata/ACIS> pwd /u01/app/oracle/oradata/ACIS oracle@tests:/u01/app/oracle/oradata/ACIS> ln -s /db/ACIS/dbase/dbf/ /u01/app/oracle/oradata/ACIS/... (2 Replies)
Discussion started by: tonijel
2 Replies

5. Shell Programming and Scripting

Symbolic Link Help

Hello All, This may be a silly question to some but I am really stuck. Is there a way to reverse the following; sudo rm /bin/sh sudo ln -s /bin/bash /bin/sh It was part of a driver compile/installation procedure by Digi for Ubuntu stating that dash isn't supported and a symbolic link... (2 Replies)
Discussion started by: LAVco
2 Replies

6. Shell Programming and Scripting

Find and symbolic link modification time

Hi, I have a directory made up of many symbolic links to folders multiple file systems. I want to return folders modified within the last 50 days, but find is using the link time rather than the target time. find . -type d -mtime -50 Is there a way to either: a) Make a symbolic link... (1 Reply)
Discussion started by: earls
1 Replies

7. Shell Programming and Scripting

ls on a symbolic link

Hi all, Can anyone please confirm if the command below is the only way that I can get what the symbolic link is set to? mnlxd110(oracle)/db/posd2/dba$: ls -l | grep "^l" lrwxrwxrwx 1 oracle dba 28 Aug 9 2011 bdump -> diag/rdbms/posp1/posp1/trace mnlxd110(oracle)/db/posd2/dba$:... (7 Replies)
Discussion started by: newbie_01
7 Replies

8. UNIX for Dummies Questions & Answers

[Solved] Symbolic link not allowed or link target not accessible

Hi everybody, I read about treads realted to this issue but they did not resovle issue given below. Please help me resolve issue given below I have html file under /srv/www/htdocs/actual_folder ls actual_folder/ test.html and following link works... (0 Replies)
Discussion started by: newbielgn
0 Replies

9. UNIX for Dummies Questions & Answers

Symbolic link

Hi, trying to understand more about symblic link, when I compiled a program called "match" in one folder ~/downloadsoftware/I want this program to be accessible like a system command by putting a symbolic link in /usr/bin/ Not by setting the $PATH method in .bashrc at this time. What I did is:... (4 Replies)
Discussion started by: yifangt
4 Replies

10. Red Hat

How to remove symbolic link?

this is my current code, # ln -s /lib64/ # ls -lrth total 80K -rw-r--r--. 1 root root 12K Jul 6 2012 post-install -rw-r--r--. 1 root root 552 Jul 6 2012 post-install.log -rw-------. 1 root root 1.5K Aug 21 2012 anaconda-ks.cfg drwxr-xr-x. 2 root root 4.0K Aug 21 2012 Videos... (3 Replies)
Discussion started by: jediwannabe
3 Replies
readlink(2)							System Calls Manual						       readlink(2)

Name
       readlink - read value of a symbolic link

Syntax
       cc = readlink(path, buf, bufsiz)
       int cc;
       char *path, *buf;
       int bufsiz;

Description
       The  system  call places the contents of the symbolic link path in the buffer buf, which has size bufsiz.  The contents of the link are not
       null terminated when returned.

Return Values
       The call returns the count of characters placed in the buffer if it succeeds, or a -1 if an error occurs, placing the  error  code  in  the
       global variable errno.

Diagnostics
       The system call fails under the following conditions:

       [ENOTDIR]      A component of the path prefix is not a directory.

       [ENAMETOOLONG] A component of a pathname exceeded 255 characters, or an entire pathname exceeded 1023 characters.

       [ENOENT]       The named file does not exist.

       [EACCES]       Search permission is denied on a component of the path prefix.

       [EINVAL]       The named file is not a symbolic link.

       [EFAULT]       The buf extends outside the process's allocated address space.

       [ELOOP]	      Too many symbolic links were encountered in translating the pathname.

       [EIO]	      An I/O error occurred while reading from the file system.

       [ETIMEDOUT]    A  connect  request  or remote file operation failed, because the connected party did not properly respond after a period of
		      time that is dependent on the communications protocol.

See Also
       lstat(2), symlink(2), stat(2)

																       readlink(2)
All times are GMT -4. The time now is 06:31 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy