春から東京に転勤が決まったので引っ越し前の整理。
転勤手当てメッチャ付く(コロナ分もつけてほしいが)。
楽しみ。
家のサーバは完璧リモートだけで触ることになるから引っ越し前の掃除してディスクの空き容量を確保しておく。
フォルダ名が1文字だけのフォルダを選んで一括で削除したい。
「眠」とか「着」とか「瞬」とかだ。
正規表現
bashの正規表現でフォルダ名が1文字のフォルダだけ捕まえる。
$ for i in $(ls -shalrt | awk '{print $10}' | grep -v '\.' | grep -v '\..' ); do echo "$i"; if "$i" =~ ^.$ ; then echo "$i"____; fi; done
良い感じ。
アンダーバーが4つ____ 付いたのは要らないフォルダなので削除する。
それ以外の(TWICEとか)は残す。
正規表現で対象を絞り込めてるので、これで一括削除できる。
$ for i in $(ls -shalrt | awk '{print $10}' | grep -v '\.' | grep -v '\..' ); do echo "$i"; if "$i" =~ ^.$ ; then echo "$i"____; rm -rf "$i"; fi; done
カラのフォルダだけ選んで削除するにはこれでできるらしい。
$ for i in $(ls -shalrt | grep drw | awk '{print $10}' | grep -v '\.' | grep -v '\..' ); do echo "$i"; if -z $(ls "$i") ; then echo "$i"____is_EMPTYYY; fi; done
カラのフォルダだけが分かる。
rmdirコマンドもEMPTYのときのみ削除してくれるから安全。
$ for i in $(ls -shalrt | grep drw | awk '{print $10}' | grep -v '\.' | grep -v '\..' ); do echo "$i"; if -n $(ls "$i") ; then echo "$i"____; rmdir "$i"; fi; done