スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
僕の .bashrc
僕の .bashrc に、 次のような箇所がある。

today (){
  perl -e 'use POSIX 'strftime';
           $dir_name = strftime("%Y%m%d", localtime);
           mkdir $dir_name or die $!;'
}

cd_today (){
  D=`date +%Y%m%d`;
  cd ./$D;
}

これでも動くけど、本当は perl -e のところは1行で書いてある。

today () {
 perl -e ' プログラム '
}

って感じで。
で、これを書いておくとなにが便利かというと!
$ today

今いるディレクトリで today と打てば、そのディレクトリに、
今日の日付のディレクトリ(例:20081026) を作ってくれるんだ。

$ cd_today

とすれば、作ったディレクトリに移動してくれるよ。
僕は、いつも同じディレクトリの下に、今日の日付のディレクトリをを作るので、
cd_today のパスは 「cd いつものディレクトリ/$D」 となっていて、
どこからでも、今日の作業ディレクトリに移動できるようにしてある。


さて、こうやって、順調に毎日作業をして、
次の月がやってきたとする。 9月から10月になったときとかだね。

そうすると、ディレクトリが 9月の日付のでいっぱいになってしまう。
そこで、ひとつのディレクトリに移動させたくなるんだ。

「そうだ! 2008年9月につくったディレクトリは、 xx_200809 という
ディレクトリをつくってそこに移動させよう!!」

これを 行うのがつぎの作業だ。

mkdir xx_200809
cp -r 200809?? xx_200809/
ls -R xx_200809
rm -ir 200809??


cp -r でリカーシブルにディレクトリを移動させているよ。
さらに ??  に気づいた?
これで、任意の2文字に展開されるから
20080901 とか 20080930 とかにマッチしてくれて、
いっきに cp できるってわけ。

ls -R でリカーシブルに、
ちゃんとディレクトリが cp できているか確かめているよ。

そしたら、
rm -ir で元のディレクトリを消そう。
-i は消していいですか? と聞いてくれるオプションだ。


みなさんからも、便利なスクリプト教えていただけるとうれしいなぁ。
スポンサーサイト
コメントを投稿する
Name:
URL:
Comment:

秘密:管理者にだけ表示を許可する
トラックバック
この記事のトラックバックURL
この記事にトラックバックする(FC2ブログユーザー)
ブログ検索

プロフィール

ビンゴ中西
Perlが好きである。
プログラミング言語のほとんどは独学。独学の過程で多くのプログラム仲間にも色々教わりました。

FC2カウンター

カレンダー

06 | 2018/07 | 08
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 - - - -

ブロとも申請フォーム

この人とブロともになる

| ホーム |
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。