開発環境
- OS X Lion - Apple(OS)
- BBEdit - Bare Bones Software, Inc.(Text Editor)
- Script言語:Perl
『初めてのPerl 第6版』(Randal L. Schwartz, Tom Phoenix, brian d foy 共著、近藤 嘉雪 訳、オライリー・ジャパン、2012年、ISBN978-4-87311-567-2) の13章(ディレクトリ操作)、13.13(練習問題)6を解いてみる。
その他参考書籍
6.
コード(BBEdit)
sample.pl
#!/usr/bin/env perl
use strict;
use warnings;
use utf8;
use 5.016;
binmode STDIN, ':utf8';
binmode STDOUT, ':utf8';
use File::Basename;
use File::Spec;
my($old_name, $new_name) = @ARGV;
die $! unless -f $old_name;
if(-d $new_name){
my $basename = basename $old_name;
$new_name = File::Spec->catfile($new_name, $basename);
}
link $old_name, $new_name or die "can't link $old_name to $new_name:$!";
入出力結果(Terminal)
$ ls -l ln* -rw-r--r-- 1 kamimura staff 3 1 1 16:58 ln.txt $ ./sample.pl ln.txt ln1.txt $ ls -l ln* -rw-r--r-- 2 kamimura staff 3 1 1 16:58 ln.txt -rw-r--r-- 2 kamimura staff 3 1 1 16:58 ln1.txt $ ./sample.pl ln.txt some_folder $ ls ln* ln.txt ln1.txt $ ls some_folder/ln* some_folder/ln.txt $
pythonの場合。
sample.py
コード(BBEdit)
#!/usr/bin/env python3.3
#-*- coding: utf-8 -*-
import os, sys
src, dest = sys.argv[1], sys.argv[2]
if os.path.isdir(dest):
dest = os.path.abspath(dest) + os.path.sep + src
os.link(src, dest)
入出力結果(Terminal)
$ ls -l ln* -rw-r--r-- 1 kamimura staff 3 1 1 16:58 ln.txt $ ./sample.py ln.txt ln1.txt $ ls -l ln* -rw-r--r-- 2 kamimura staff 3 1 1 16:58 ln.txt -rw-r--r-- 2 kamimura staff 3 1 1 16:58 ln1.txt $ ./sample.py ln.txt some_folder $ ls -l some_folder/ln* -rw-r--r-- 3 kamimura staff 3 1 1 16:58 some_folder/ln.txt $
0 コメント:
コメントを投稿