アプリ版:「スタンプのみでお礼する」機能のリリースについて

bashでカレントディレクトリで更新日が2004年2月以降のファイルだけを
表示する場合どうすればよいでしょうか?
宜しくお願い致します。

filenames=$(ls)
for temp in ${filenames[@]};do
echo "$temp"  どうすれば?
done

A 回答 (2件)

touch -t 200402010000 /tmp/ponpoko


find . -type f -newer /tmp/ponpoko -print
rm /tmp/ponpoko

もしサブディレクトリが対象外なら、
find . -maxdepth 1 -type f -newer /tmp/flag -print
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
ダミーのファイルを作ってfindで比較するわけですね。
大変参考になりました。

お礼日時:2005/04/14 16:47

find コマンドを使えばよいでしょう


newer オプションで「指定したファイルより新しいファイル」
を指定することができます。

その際更新日が 1/31 のファイルを指定する必要がありますが、
なければ touch コマンドで作ってしまえばよいかと思います。

host% touch -t 200401312359.59 foo
host% find . -newer foo

なお、この場合サブディレクトリも
検索対象になりますが
不要である場合は maxdepth オプションで
最大探索階層の指定をしてください
(GNU 版特有オプション)

host% find . -newer foo -maxdepth 1

参考URL:http://www.linux.or.jp/JM/html/GNU_findutils/man …
    • good
    • 0
この回答へのお礼

丁寧にお答えくださり有難うございます。
やはりダミーファイルを作ってfindするのが簡単なようですね。

お礼日時:2005/04/14 16:49

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!