memo.xight.org

日々のメモ

Microsoft Officeが作成する一時ファイルを削除するワンライナー

Summary

"~$" (チルダ ドル) で始まる名前のファイルを大量に発見。
Microsoft Officeが作成する一時ファイルのようだ。

以下のワンライナーでまとめて削除。
スペースを含むディレクトリ、ファイル名も考慮するため、
find の print0 オプションと xargs の null オプションを組み合わせる。

Officeの一時ファイルをまとめて削除するワンライナー

% find $HOME -name '\~\$*' -print0 | xargs --null rm


Officeの一時ファイルをまとめてゴミ箱に移動するワンライナー

% find $HOME -name '\~\$*' -print0 | xargs --null mv -t $HOME/.Trash


homebrew ユーザは…

xargsのnullオプションを利用するには GNU findutils の xargs (gxargs) が必要。
homebrew ユーザは findutils をインストールして、 gxargs が使えるようにする。
alias で xargs=gxargs するか、 ワンライナーの xargs を gxargs に読み替える。

Reference

備忘録 - 2008-07-28 - スペースを含むファイル名をfindとxargsで使う方法
http://sea-otter-factory.blogspot.jp/2008/07/unix-xargs.html

fydroculのメモ - コマンドの使い方 - xargs コマンド (mvに渡す場合は要注意)
https://hydrocul.github.io/wiki/commands/xargs.html#fec7f98