コマンドを作ってみた(trash, untrash)
コマンドとは
lsとか、cdとか、catとか、ターミナル上でよく使うもの
OS
Mac
(untrashにて、Linuxと動作の異なるコマンドsedを利用)
前準備
.profileに以下を書く。
export PATH="$HOME/bin:$PATH"
その後、source .profile。
vi ~/bin/コマンド名
プログラムを書いた後、
chmod +x コマンド名
trash
機能
trash ファイルとすると、対象のファイルを.trash/に移動する。
その際、trashを実行した日付をファイル名の先頭につける。
動き

コード
#!/bin/sh d=`date +%F` trash=$HOME/.trash mkdir -p $trash mv $1 $trash/$d-$1 touch $trash/$d-$1
untrash
機能
一番最近trashをしたファイルを現在のディレクトリに移動させる。その際、ファイル名から日付を削除する。
動き

コード
pwd=`pwd` cd $HOME/.trash/ tra=`ls -rt1 | tail -1` org=`echo $tra | sed -E 's/^.{11}//'` mv $tra $pwd/$org
Macでは、sedに-Eをつける必要があるらしい。
^は先頭から
.は全ての文字
^.{11}で、先頭から11文字
s/^.{11}//で、先頭から11文字を消す(先頭から11文字は日付)
=をくっつけるのよく忘れる