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
eatmydata(1)						      General Commands Manual						      eatmydata(1)

NAME
eatmydata - transparently disable fsync() and other data-to-disk synchronization calls SYNOPSIS
eatmydata [--] command [ command arguments ... ] DESCRIPTION
eatmydata runs a command in the environment where data-to-disk synchronization calls (like fsync(), fdatasync(), sync(), msync() and open() O_SYNC / O_DSYNC flags) have no effect. LD_PRELOAD library libeatmydata overrides respective C library calls with custom functions that don't trigger synchronization but return success nevertheless. You may use eatmydata in two ways. In normal mode, just execute eatmydata directly and pass a command-to-be-run and its arguments via com- mand line. In order to use symlink mode, create a symlink to /usr/bin/eatmydata with the filename (a.k.a basename) of another program in the PATH and execute eatmydata via that symlink. Then eatmydata will find that program in the PATH and run it in the libeatmydata environ- ment repassing all command line options. OPTIONS
Please note that eatmydata does not process any command line options in symlink mode. All command line options will be repassed to the underlying executable as-is. command The command to execute. It may be either a full path or the name of the command in PATH. In case command cannot be found in PATH, eatmydata will fail. command arguments Arbitrary number of arguments to pass to the command being executed. -- Optional command separator for compatibility with similar utilities. Ignored at the moment. EXAMPLES
Given PATH is /usr/bin and both /usr/bin/aptitude and /usr/bin/eatmydata are installed, the following: $ ln -s /usr/bin/eatmydata ./aptitude $ ./aptitude moo is equivalent to: $ eatmydata -- aptitude moo Therefore, you may use symlink mode to automatically run specific programs in the libeatmydata environment whenever you run them from PATH. For example, given standard PATH settings, just do: # ln -s /usr/bin/eatmydata /usr/local/bin/aptitude and enjoy sync-free aptitude system-wide. AUTHOR
The eatmydata wrapper around libeatmydata LD_PRELOAD library was written by Modestas Vainius <modax@debian.org> November 2010 eatmydata(1)
All times are GMT -4. The time now is 12:38 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy