2004年12月25日

Linuxの小技 dateコマンドで日時をファイル名に付けよう!2

◆ [ 日時をファイル名に付けよう!2]

コマンドで日付や時間を取得して、ファイル名にする方法を紹介します。

これができるようになると、ファイルの管理が日付単位で管理できたり、
バックアップした日が一目でわかるようになります。


http://1linux.livedoor.biz/archives/10949128.html


ファイル名に日付を付ける場合

mv file_test.txt file_test.txt_`date +%y%m%d`

↑の様に、mvコマンドで、ファイル名の後ろに「 `date ++%y%m%d`
とすると、実行日当日の日付が付けられるというお話をしました。

でも、それだと毎回「`date +%y%m%d`」と記述しないといけないので、
かえって面倒です。

そんな時は、これから紹介するテクニックで、楽しちゃいましょう!

----------------------------------------

Linuxにログインして、下に紹介しているコマンドを入力してください。

$ cd     ← 「cd」コマンドでホームディレクトリへ移動します。

$ pwd     ← 「pwd」コマンドで現在のディレクトリを確認します。
/home/pakira ←「/home/ユーザ名」になっていれば、OKです。

$ ls -la   ←「ls -la」で「.」ではじまる隠しファイルを表示させます。
合計 28
drwx------ 2 pakira pakira 4096 10月 7 19:26 .
drwxr-xr-x 7 root root 4096 10月 7 19:26 ..
-rw-r--r-- 1 pakira pakira 24 10月 7 19:26 .bash_logout
-rw-r--r-- 1 pakira pakira 191 10月 7 19:26 .bash_profile
-rw-r--r-- 1 pakira pakira 124 10月 7 19:26 .bashrc
-rw-r--r-- 1 pakira pakira 5531 10月 7 19:26 .canna


今回、編集するファイルは、「.bash_profile」ファイルです。
これは、Linuxで使用するユーザの環境を設定するファイルです。

では、早速編集してみましょう。
ファイルの編集には、「viエディッタ」を使用します。

↓viエディッタの使用方法については、こちらを参照してください。
http://blog-topics.com/archives/2004/10/linuxvi.html


$ vi .bash_profile

■ 変更前
-----------「.bash_profile」ファイルの内容 ----------

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH
unset USERNAME

----------------------------------------

↑多少、あなたのLinuxに、表示されている内容と違うかもしれませんが、
大体は同じだと思います。

このファイルに次の一行を追加してください。

『 export DAY=`date +%y%m%d` 』


■ 変更後
----------------------------------------

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH
unset USERNAME

export DAY=`date +%y%m%d` ←ここへ追加します。

----------------------------------------

ファイルを保存して、viエディッタを終了したら、引き続き下のコマンドを入
力してください。


$ source ~/.bash_profile ←「source」コマンドで設定を反映させます。


では、早速うまく設定できているか、確認してみましょう!


$ touch test.txt ←「touch」コマンドでtest.txtを作成します。

$ ls -l       ←「ls -l」で作成されたファイルを確認します。
合計 0
-rw-rw-r-- 1 pakira pakira 0 10月 7 19:37 test.txt

$ mv test.txt test.txt_$DAY ←「mv」コマンドで「test.txt」ファイルを
                リネームします。


$ ls -l  ←「ls -l」でリネームされたファイルを確認します。
合計 0
-rw-rw-r-- 1 pakira pakira 0 10月 7 19:37 test.txt_041007

↑のように、ファイル名の後ろに日付が表示されていれば、OKです。


「mv」コマンド実行時に、変更後のファイル名の後ろに「$DAY」という
ものを指定してます。これは、viエディッタで編集した「.bash_profile」
ファイルに設定した定義になります。

export DAY=`date +%y%m%d`」に設定しましたが、意味としては


●「`date +%y%m%d`」の結果を「DAY」にいれなさい。


という事になります。もちろん、この「DAY」の部分は、あなたの
好きな文字にしても、ぜんぜん問題ありません。

たとえば、「D」であったり、「TODAY」であっても大丈夫です。

export D=`date +%y%m%d`
export TODAY=`date +%y%m%d`


ただ、注意してほしいのは、「.bash_profile」で設定した定義が「DAY」なら
コマンドを実行する場合は、「$DAY」という形で、頭に「$」を付けるのを
忘れないでください。
( DやTODAYでも同じです。)

これは、シェルスクリプトを知っている方ならわかるのですが、
Linux上、この「DAY」は、「変数」という扱いになっているために
「$」が必要になっています。

これは決まりですので、ぜひ、一緒に覚えておいてくださいね。


▼ 今日、登場したコマンドは↓のページにリファレンスがありますので
活用してください。

  Linuxコマンドリファレンス




pakira9 at 00:12│Comments(0)TrackBack(0)clip!Linuxの小技 

トラックバックURL

この記事にコメントする

名前:
URL:
  情報を記憶: 評価: 顔