Archive for the 'Unix' Category

Using Perl to compare two directories

Friday, December 16th, 2005

If you ever need to compare two directories to find files missing from one that are in the other, perl can be a good utility to use. You can read into two arrays two directories, then create a hash using the second directory array as keys (this should be the smaller directory). Then use the [...]

Name based virtual hosts

Tuesday, November 15th, 2005

I’ve revised a previous tip here with regard to setting up your mac to server virtual hosts to use your mac for development of sites. I find this to be a little easier than using 127.0.0.1 as your virtual host. Instead find the virtual host portion (usually at the bottom) of your httpd.conf file which [...]

email from the shell

Thursday, July 14th, 2005

Previously I showed a php script to send email. You can use php as a shell language as well as a web development language. PHP has ready made functions for this, so it is kind of an easy thing to do. Here is an example of a straight email shell script using bash.
#!/bin/bash
sendmail=”/usr/sbin/postfix”
recipient=”user@domain.com, user2@domain2.com”
( cat [...]

Tiger and Unix scripting

Sunday, July 10th, 2005

It has been quite some time since I have had a chance to write. I finally made the switch to Tiger. It was a long process for me. I installed a DVD drive into my blue and white G3 to make Tiger installation easier. While I was upgrading my machine I decided to soup it [...]

Standard Input piped to a text editor

Wednesday, March 16th, 2005

If you have BBEdit and you have installed the command line tool you have a real nice resource for printing lists of file directories. Even without the command line you can drag a directory into a BBEdit window and create a file list of that directory. With the command line tool you can pipe standard [...]

Perl move files script

Wednesday, March 9th, 2005

Here is a little script I wrote that you can use to move a list of files. Supply it a list of file names. In this case the file names I was supplied didn’t have .pdf on them, so I had to concatentate that onto the file names. I’ve covered this earlier with respect to [...]

Wordpress 1.5 themes, virtual hosts

Friday, February 25th, 2005

Since I upgraded to WordPress 1.5, being a web designer, I had to give themes a try. Kubrick is a beautiful interface, but I desired to build my own interface. I have called this one soothe, since it is aqua inspired.
It took me a little while to figure out what files controlled what behaviour. It [...]

ftp by shell script

Monday, February 21st, 2005

I like to have a local copy of my website. With Wordpress, I write directly into my hosted site. So I have to occassionally ftp my host site to my local drive to keep them in sync. I have asked my site host to backup my sql database weekly. Then I can download it to [...]

vi and shell editing

Thursday, February 10th, 2005

I use vi for editing my httpd.conf and other config files as well as for some c programming and shell programming. One of the things I never really used well was the interaction with the shell inside of vi. If you are like me and quit vi to do some shell commands and then reopen [...]

pushd

Monday, January 17th, 2005

In the terminal, if you find yourself needing to move back and forth between two directories and don’t want to type in the complete path name constantly, you can either set up aliases of the cd command to the directory or you can use pushd. Let’s say you are in your Sites folder in [...]

Crontab

Monday, January 10th, 2005

I have been having a lot of difficulty using Moveable Type in recent weeks. This has slowed progress on the website. I’ve made the switch to Wordpress which is a php alternative to the perl powered Moveable Type. I have found it to be a very nice editor that is very easy to install and [...]

Restart Classic

Wednesday, November 17th, 2004

Here is a shell script you can use to shutdown and restart classic. I created this to run as a cron script, so that I could shut down classic at an interval. It seemed like Classic was having memory problems if it ran too long without a reboot, so I set it up to run [...]

terminal mount command

Thursday, October 7th, 2004

I’ve been trying to understand the mount command in Unix. If anyone can shed some light on it, please do post. This is what I have figured out. You can mount an afp volume using the command mount -t afp. But you first have to establish a share point for the mount to land. So [...]

printing a directory list

Thursday, August 26th, 2004

One thing that OS X is lacking that I used all of the time in OS 9 is the print window command in the finder. There are a few ways to get around this limitation. One way is to open the window you want a print out of. Grab the icon at the top middle [...]

softwareupdate

Monday, August 16th, 2004

Apple has provided a command line utility to match the Aqua software update. This can be scripted to run and also can be run remotely using ssh.
I ran the softwareupdate command by typing in softwareupdate -i -r for install required. The discovery of this command line command is really rather nifty. Next time you need [...]

Change case

Friday, July 23rd, 2004

Here is a little perl script that you can use to lowercase text with an uppercase first letter of each word. If you put it in your BBEdit unix filters it will work on any selected text.
#! perl -w
use strict;
while () {
tr/[A-Z]/[a-z]/;
s/\b([a-z])/\u$1/g;
print $_;
}

Perl File::Copy and Apple’s ditto command

Wednesday, July 21st, 2004

You can use Perl’s File::Copy module to move files around your system. The only drawback is that if the files are macbinary and have a resource fork, that portion of the file gets lost. You can use Apples ditto command with –rsrc parameter to move files and maintain the resource.
Following is a perl subroutine I [...]

Killing a process

Tuesday, July 20th, 2004

Sometimes applications crash, or at least they don’t behave the way they should. The kill command will come in handy when you need to kill an application. I use this command to find the Distiller pid then kill it:
kill -9 $(ps -auxwww | grep Distiller | grep -v grep | awk ‘{print $2}’)
One of the [...]

Using Applescript with PERL

Sunday, July 18th, 2004

One of the great advantages of OS X is that you can control applications using Applescript. There is a command line version of calling applescript called osascript. The really cool thing is being able to use this command inside of another script such as a perl script or a shell script. One of the things [...]

Using Perl to change file names

Friday, July 16th, 2004

The previous tip showed how you can change filenames in a given directory uisng the command line. If you need to use perl to programatically change file names you can use the rename perl function. Often times I need to iterate through a directory and change names of files based on a given condition. Here [...]