ちょい前にlsしてたら、次のようなエラーが出てきた
Argument list too long.
そのエラーでググってみたら、これはファイル数が多すぎるときに出るエラーらしいファイル数は確か18000くらい?
回避方法としては、
find . -name \*.log | xargs ls -l
とか
find . -name \*.log -exec ls -l {} \;
どっちもかなり遅かった気がする・・・・とか
find . -name \*.log -exec ls -l {} \;
ちなみに不要ファイルを削除して、回避しようにもrmで同じエラーが出るので対処できない・・・
ls -Ul
なら動く、という記事を見つけたが試してないので本当にlsできるかは不明find ./result/* -name "hoge*" | grep -e "foo" > hoge.txt
みたいにしてgrep -eを使ってさらにファイルを絞ることもできるfind ./result/* -name "hoge*" | grep -e "foo" -e "aaaa" > hoge.txt
find ./result/* -name "hoge*" | grep -ve "foo" -ve "aaaa" > hoge.txt
findを使っているのは単純にlsではファイル数が多すぎるとエラーが出るため
2番目の例では-eを2つ並べている
3番目の例では-veオプションを使っている
これはeオプションの否定になる
つまりfooもaaaaもファイル名に入っていないファイルがリストされる
正規表現を使いこなしていない自分にはかなり便利
また遭遇したので追記
echo ~/somewhere/* | xargs rm -f
ランキング参加中です
↓クリックしていただけると嬉しいです〜