tag:blogger.com,1999:blog-4720114978170373083.post2276934127409696932..comments2023-09-25T02:13:28.112+09:00Comments on Macはじめました。: .DS_Storeファイルなどを再帰的に削除するコマンドerpalacionhttp://www.blogger.com/profile/05379611427990494641noreply@blogger.comBlogger3125tag:blogger.com,1999:blog-4720114978170373083.post-40649805394300700972012-07-05T01:32:38.125+09:002012-07-05T01:32:38.125+09:00バックスラッシュは通常あったほうがよいと思います。 ._* という部分がシェル (Bash) により...バックスラッシュは通常あったほうがよいと思います。 ._* という部分がシェル (Bash) により解釈される余地を残しておくことになってしまいますので。<br /><br />空のディレクトリの中で、 "._test0" というファイルと "dir0/._test1" というファイルを作った上で find . -name ._* してみればわかりやすいかと思います。Bash により "._*" という記述が ._test0 に置き換えられた上で find に引数がわたされますので、 ._test1 ファイルが発見できないことになります。Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-4720114978170373083.post-73396253330696061062009-05-21T20:42:09.178+09:002009-05-21T20:42:09.178+09:00Okawariさん、コメントありがとうございます。
「man find」をして、「-name」の項...Okawariさん、コメントありがとうございます。<br /><br />「man find」をして、「-name」の項目を調べると次のような記述があります。<br /><br />Special shell pattern matching characters (``['', ``]'', ``*'', and ``?'') may be used as part of pattern. These characters may be matched explicitly by escaping them with a backslash (``\'').<br /><br />ココでは「*」を文字としてではなく、ワイドカードとして使いたいので、バックスラッシュは必要ないと思うのですが、この認識は間違っていますか?もし何か良い情報源などがあれば、是非教えて下さい。<br /><br erpalacionhttps://www.blogger.com/profile/05379611427990494641noreply@blogger.comtag:blogger.com,1999:blog-4720114978170373083.post-76643157574757426172009-05-21T10:50:55.279+09:002009-05-21T10:50:55.279+09:00いつも楽しく見させてもらっています。-name オプションでの正規表現での"*" は "¥" でエス...いつも楽しく見させてもらっています。<BR><BR>-name オプションでの正規表現での"*" は "¥" でエスケープするのが正しいのではないかと思います。<BR><BR>% find . -name ._¥* -exec rm -r {} ";"<BR><BR>上記であると "._*" でも結果は同じかもしれませんが...<BR><BR>manual にもそんなことが書いてあるような...<BR>外していたらすみません。Okawarihttps://www.blogger.com/profile/09940267595627602403noreply@blogger.com