|
findで、検索する文字が複数出てくる場合の 記述について教えてください。 あるディレクトリに、以下の様な「YYYYmmdd」形式の ディレクトリが存在した場合ですが、名前がすべて、 「0〜9」の数字であるディレクトリのみを表示したい のですが、どのように書けばよいのでしょうか。 find . -name '[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]' -type d で表示されるのですが、 [0-9]を8回書く以外に、違った書き方はないでしょうか。 find . -name '[0-9]*[0-9]' -type d find . -name '[0-9]......[0-9]' -type d find . -name '[0-9]*......[0-9]' -type d find . -name '[0-9]......*[0-9]' -type d とかしてみたのですが。 /tmp配下に、 20080301 20080302 20080303 20080303.bk a0080304 2008030a 200a0306 200080307 |
|
>>4885 maya > tar.gz な書庫にファイルを追加したい場合、いちいちgunzipしないといけないんでしょうか? r で追加できますが、gzip してある場合はできないようですので、gunzip が必要と 思われます (BSD tar と GNU tar で確認)。 >>4886 つのりん ヤフオクによく出品されているように見えますので、チェックしてみてはどうでしょうか 今は「キーボード & マウス [未使用]」が出てますね。 >>4887 mm > と、mtimeだけ3日前となっていますが、これは間違いでしょうか? ありがとうございます。誤りでしたので修正いたしました。 >>4888 べた Perl の正規表現 (PCRE) であれば [0-9]{8} もしくは \d{8} ですが、POSIX における 基本正規表現や拡張正規表現では上記のような表現はできませんので、find にこだわる のであれば 8回書くしかないです。 あるいは、 ・File::Find を使った perl のワンライナーでがんばる ・シェル変数を使う csh・tcsh の場合: % set x='[0-9]' % find . -name "$x$x$x$x$x$x$x$x" sh・bash の場合: % x='[0-9]' % find . -name "$x$x$x$x$x$x$x$x" など。 |