min117の日記

初期desireもち。趣味Mac,メインFedora,仕事xp。

bash 複数のソースファイルに日付をつけて一括バックアップ(拡張子は変えない)

pythonやらphpやらで色々書いたソースを一括でDropboxにバックアップしたい。

f:id:min117:20191026101857p:plain

 

ファイル名に今日の日付をつけ拡張子は変えずにバックアップする。 こんな感じ。

f:id:min117:20191026103025p:plain

 

ファイル名から、本体部分(body)と拡張子部分(ext)を取り出すところに工夫がいる。

 

できた。

$ for i in *{php,css,sh,py,rb,html,txt,pl}; do echo "$i"; fn=$(basename "$i"); echo "$fn"; body=${fn%.*}; echo $body; ext=$(echo "${fn##*.}"); echo $ext; echo '------'; cp "$i" ~/Dropbox/develop/sh/"$body"_20191026."$ext"; done

f:id:min117:20191026101039p:plain

 

実行

f:id:min117:20191026101131p:plain

うまくいった。ワンライナーでもできる。

f:id:min117:20191026100656p:plain



alias切る。

$ vim ~/.bashrc

 alias mykakutyousi='echo 拡張子と本体に分ける; for i in *; do echo "$i"; fn=$(basename "$i"); echo "$fn"; body=${fn%.*}; echo $body; ext=$(echo "${fn##*.}"); echo $ext; echo "-----"; done'

f:id:min117:20191026095927p:plain

 

$ source ~/.bashrc 

$ ./mykakutyousi

f:id:min117:20191026100320p:plain

かなり便利。

 

 

 



min117.hatenablog.com