びぶろく

主に技術系なことをつらつらと。

目的のファイル以外を削除するコマンド

プログラミングとかでゴリゴリやってる際に、例えば「main.c以外いらんわ!」とか思ったりするときに

% ls
aaa.c bbb.c ccc.c main.c
% mv main.c main.c_
% rm *.c
% mv main.c_ main.c
% ls
main.c

とかやってたりしたことがあって、その時に色々調べたら

% ls | grep -v "main.c" | xargs rm

ってやると現階層のmain.c以外のファイルを削除してくれる。このコマンドを見つけた時に結構感動したりもしたけど、結局入力がめんどくさくて使ってなかったり・・・(笑)。.zshrcとかに関数として組み込んだりすればいいのかと思ったけども、やり方がよくわからなかったし、なんだかんだでそこまで困っているわけではなかったので結局そのまま放置してしまいましたとさ。