Create alias files (not alias commands)


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Create alias files (not alias commands)
# 1  
Old 04-16-2012
Create alias files (not alias commands)

If one:
Code:
$ find -name 'some expression' -type f > newfile

and then subsequently wants to create an alias file from each pathname the find command retrieved and the > placed within 'newfile', how would one do this? Ideally, the newly created alias files would all be in one directory.

I am on a Mac OS X 10.7. The notion of an alias file is a 'file.txt alias' that points to another 'file.txt'. 'file.txt alias' only points to where the data represented by the same pathname actually is.

Thanks!

Moderator's Comments:
Mod Comment Please use next time code tags for your code and data

Last edited by vbe; 04-16-2012 at 10:29 AM..
# 2  
Old 04-16-2012
This will create, for example, "file.txt alias" in current directory from /path/to/file.txt, etc
Code:
find -name 'some exp' -type f -exec bash -c 'ln -s $1 "${1##*/} alias"' _ {} \;

This User Gave Thanks to neutronscott For This Post:
# 3  
Old 04-16-2012
Great advice:)

That was SUPER helpful! Is there a way to send to resultant alias files to a different directory at the same time? (only in an attempt to not have to have the current as directory the destination of the aliases).


I tried the above with some test files first and that did work!

Trying it with the files I was originally targeting produced: no such file or directory errors and no aliases.

Being more specific, I:

directory_for_aliases
Code:
 $ find /directory/containing/files -name 'expression' -not \
-name 'expression'  -exec bash -c 'ln -s $1 "S{1##*/} alias"' _ {} \;
ln: filename1 alias: No such file or directory
ln: filename2 alias: No such file or directory 
.
.

.

Last edited by vbe; 04-16-2012 at 01:24 PM..
# 4  
Old 04-16-2012
You'd place that in the 2nd argument to ln. Also, I missed some quotes around $1 before (would cause problems with filenames already containing space)

This way:
Code:
find -name 'some exp' -type f -exec bash -c 'ln -s "$1" "/new/path/${1##*/} alias"' _ {} \;

or this way:
Code:
find -name 'some exp' -type f -exec bash -c 'ln -s "$1" "$2/${1##*/} alias"' _ {} "/new/path/here" \;

 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Create a list of files from alias by script

Actually I have many pictures with diferent name and size around 2000, I need generate a copy of them from one list of alias. The structure of the list is something like this: alias_list.txt <01>randomname.png<02> Randomname.png RandoMname.png RandOmname.png RandomnamE.png... (6 Replies)
Discussion started by: Tapiocapioca
6 Replies

2. Shell Programming and Scripting

Create an alias

I want to create an alias cpage4 and create a postscript file For example I want to call cpage4 file.f which creates the file file.ps I have written like this but don't know how to continue alias cpage4 '/usr/bin/mpage -m40 -4AHP- \!* (6 Replies)
Discussion started by: kristinu
6 Replies

3. Shell Programming and Scripting

alias commands

Is there a way to create alias for commands and store then in a location where a certain group can run them. I also want anybody in that group to be able to add alias. I don't want them to access the /etc/environment or /etc/profile files to do so. If there needs to be a line added in either of... (1 Reply)
Discussion started by: daveisme
1 Replies

4. Shell Programming and Scripting

Need to create an ALIAS....

Hi GUYS, I need to create an alias for the the connect statement. I want to replace "CONNECT TO DBNAME" to "CONNECT TO DBNAME user USERID using PASSWORD" I thought i will add an alias in the .profile. But its not working. May be because i am trying to create it for 3 words instead of one... (2 Replies)
Discussion started by: mac4rfree
2 Replies

5. UNIX for Dummies Questions & Answers

Unable to create alias

I am using Solaris 9 machine. I am unable to create any aliases. I gave the following command: alias ls='ls -ltr' It did nt give any errors. But next time, I use ls, it is working simply as ls but not like ls -ltr. I am not having admin permissions. Is it the reason. (3 Replies)
Discussion started by: mumashankar
3 Replies

6. UNIX for Dummies Questions & Answers

How to create a alias with an argument

If I want to create an alias called "cdr", and this alias need an argument (for example arg1)followed by "cdr", the result should go to the directory like "/home/ting/arg1/report/logs", the command should look like below, alias cdr arg1 "cd /home/ting/\!$1/report/logs" (not working)::( ... (1 Reply)
Discussion started by: ting123
1 Replies

7. UNIX for Dummies Questions & Answers

Alias commands

how do you alias a command... Like say I wanted kitten to exicute the command whoami. how would I do that? Thank you for your time. (2 Replies)
Discussion started by: Mars8082686
2 Replies

8. UNIX for Dummies Questions & Answers

I want to create a command alias

I want to create a command alias. I know what shell I'm using, I just don't know which file to inter the command alias. When I type "echo $SHELL" the output is as follows: bin/sh If I'm correct, this is the bourne shell. Does anyone know which file to edit in this particular shell? Thanks. (2 Replies)
Discussion started by: cstovall
2 Replies

9. Programming

Create an alias

I want to create an alias that will grep the passwd file for the logged in persons username and then it will return the password file entry. I want to pipe the whoami info to the grep command. I have created the following: % alias whopw grep... (1 Reply)
Discussion started by: mozark
1 Replies

10. UNIX for Dummies Questions & Answers

1 alias 2 commands 1 argument

Hi, i want make 1 alias with two commands include to do two things at the same time like this: ex: do finger and last at the same time with only one word finla or something. Thanks.- /home/seba > finger dustin Login name: dustin In real life: Dustin Feldman Directory:... (3 Replies)
Discussion started by: seba
3 Replies
Login or Register to Ask a Question