Sponsored Content
Full Discussion: Soft link/file name problem
Top Forums Shell Programming and Scripting Soft link/file name problem Post 302282017 by otheus on Friday 30th of January 2009 03:01:22 AM
Old 01-30-2009
find command:
Code:
imgdir=/home/stuff

find /mnt/disk -type f -a \
	\( -name '*.gif' \
	-o -name '*.GIF' \
	-o -name '*.jpg' \
	-o -name '*.JPG' \
	-o -name '*.jpeg' \
	-o -name '*.JPEG' \
	-o -name '*.png' \
	-o -name '*.PNG' \
	\) -exec /usr/local/bin/makelink "{}" $imgdir ';'

The make the /usr/local/bin/makelink file as mentioned above. (If you don't have access permissions, create $HOME/bin and put it in there; change the find command appropriately.)

The missing part in the script should be something like this:
Code:
   file=`echo $file | perl -pe 's/(?<!\d\])\./[0]\./;s/\[(\d+)\]\./"[".($x=$1,++$x)."]."/e;'`

This will work for just about any number of files. Example:
Code:
echo test[99].jpg | perl -pe 's/(?<!\d\])\./[0]\./;s/\[(\d+)\]\./"[".($1+1)."]."/e;'
test[100].jpg

Perl does two substitutions (stuff between s/.../Smilie. The first looks for a period NOT preceded by a digit that is followed by a right-bracket. If it finds such a string, it replaces it with [0]. The next looks for a number inside brackets and followed by a period. If it finds such a thing (which it will if the previous step succeeded, or as it must if the previous step failed) it replaces the number found with the next higher number (just adds 1).

The output is sent to the shell which stores that output in the variable "file". The next iteration of the while loop should fail, and then the ln command will do its thing.
 

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

Differences between hard link and soft link

Hi all! I'd like to know the differences between hard links and soft links. I've already read the ln manpage, but i'm not quite sure of what i understood. Does a hard link sort of copy the file to a new name, give it the same inode number and same rights? What exactly should I do to do this:... (3 Replies)
Discussion started by: penguin-friend
3 Replies

2. UNIX for Dummies Questions & Answers

Difference between hard link and soft link in unix

Hi All, Can any one please explain me what is the difference between hard link and soft link in UNIX. Thanks in advance Raja Chokalingam. (2 Replies)
Discussion started by: RAJACHOKALINGAM
2 Replies

3. UNIX for Dummies Questions & Answers

Hard Link vs SOft Link????

Hi PLease let me know the usage of Hard Link vs Soft Link i.e what is the basic difference and what happens when one file is changed or deleted in both the cases??? thanks (3 Replies)
Discussion started by: skyineyes
3 Replies

4. UNIX for Dummies Questions & Answers

Difference between hard link and soft link

Hi Experts, Please help me out to find out difference between a hard link and a soft link. I am new in unix plz help me with some example commands ( for creating such links). Regards S.Kamakshi :) (2 Replies)
Discussion started by: kamakshi s
2 Replies

5. UNIX for Dummies Questions & Answers

Can the timestamp of a soft link be changed?

I was wondering if it was at all possible to change the timestamp of a soft link. I want to change it to a time in the past before it was created. Sceanrio: In a directory i have a number of softlinks whih point to files, a script processes these files oldest first bassed on the time the... (8 Replies)
Discussion started by: cdoyle
8 Replies

6. Shell Programming and Scripting

soft link issue

Hi , When installing oracle software a set of directories are created under the home directories. Since the home directory is usually not big , i would like to create a soft link from the home directory to mount point with alot of free space , that way the logs will not be wriiten under the... (1 Reply)
Discussion started by: yoavbe
1 Replies

7. Shell Programming and Scripting

how to remove soft link

hi i have create a soft link using below command. ln -s <filename> <dirmane>where file name i use is t1 and dir name was t2. i deleted the dir t2 using command rm -rf to remove the soft link . however again i create a file a using the name t2 and when i just try to link t1 to t2 ... (1 Reply)
Discussion started by: scriptor
1 Replies

8. Solaris

Soft link issue

I did restore from netbackup for root file system on separate slice instead of corrupted one. After restoration I found there are number of soft link issues lie e.g libabcxyx > /mnt/usr/lib it should be libabcxyz > /usr/lib does any have solution to change symbolic link changed in... (1 Reply)
Discussion started by: nimish_mehta
1 Replies

9. Shell Programming and Scripting

Soft link

can u help me out how change the hooked file below. VEUEMASTER.txt -> /sbvnj/kfls//VSUE_OBR_MAER.txt.201503230800 (4 Replies)
Discussion started by: ramkumar15
4 Replies

10. UNIX for Advanced & Expert Users

A query on soft-link

Hi All, I tried creating a soft link with the file itself. It got created successfully. bash-3.2$ ls -l a lrwxrwxrwx 1 ebrigup other 1 Oct 5 19:14 a -> a bash-3.2$ Can anyone explain what is the possible use of it. I dont see any except practically wasting an inode... (2 Replies)
Discussion started by: brij123
2 Replies
LN(1)							      General Commands Manual							     LN(1)

NAME
ln - make links SYNOPSIS
ln [ -s ] sourcename [ targetname ] ln [ -s ] sourcename1 sourcename2 [ sourcename3 ... ] targetdirectory DESCRIPTION
A link is a directory entry referring to a file; the same file (together with its size, all its protection information, etc.) may have several links to it. There are two kinds of links: hard links and symbolic links. By default ln makes hard links. A hard link to a file is indistinguishable from the original directory entry; any changes to a file are effective independent of the name used to reference the file. Hard links may not span file systems and may not refer to directories. The -s option causes ln to create symbolic links. A symbolic link contains the name of the file to which it is linked. The referenced file is used when an open(2) operation is performed on the link. A stat(2) on a symbolic link will return the linked-to file; an lstat(2) must be done to obtain information about the link. The readlink(2) call may be used to read the contents of a symbolic link. Symbolic links may span file systems and may refer to directories. Given one or two arguments, ln creates a link to an existing file sourcename. If targetname is given, the link has that name; targetname may also be a directory in which to place the link; otherwise it is placed in the current directory. If only the directory is specified, the link will be made to the last component of sourcename. Given more than two arguments, ln makes links in targetdirectory to all the named source files. The links made will have the same name as the files being linked to. SEE ALSO
rm(1), cp(1), mv(1), link(2), readlink(2), stat(2), symlink(2) 4th Berkeley Distribution April 10, 1986 LN(1)
All times are GMT -4. The time now is 11:23 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy