重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

UNIXのディレクトリ再起検索に関して。

【内容】 ディレクトリの再起検索した内容をテキストに出力したいのですが、あるディレクトリの配下はテキストに出力したくないため、除外をしたいのですが、うまくいきません。

以下ディレクトリの構成は添付してあります。



たとえば、ls -laR > a.txtコマンドを実行して、1,2以外のディレクトリ(A,B,C)をa.txtに出力したいのです。
ご教示お願いします。

「UNIXのディレクトリ再起検索に関して。」の質問画像

A 回答 (5件)

A/1/D がある場合どうする、とか


A/B/2 がある場合どうする、とか

ありますが。

・-pruneを使って、 1、または2というディレクトリだったらその下は走査しない
さもなくば、-printで表示
find . -type d \( -name "1" -o -name "2" \) -prune -o print
    • good
    • 0

find A/ -type d ! -path '*/1*' -print0 | xargs -0 ls -l > a.txt



とか A/1, A/1/2 だけ除外なら

find A/ -type d ! \( -name '1' -or -name '2' \) -print0 | xargs -0 ls -l > a.txt

でもいいか。
    • good
    • 0

再帰じゃないかなー?と思ってみたり



まあ、あんまりUNIXの用法っぽく無いけどtreeコマンド系が有るものも有ります。
http://x68000.q-e-d.net/~68user/unix/pickup?tree

確かに、findで事足りるのであんまり需要無いとは思うのですが一応。
    • good
    • 0

-Wは-wでした


find . |grep -v -w 1|grep -v -w 2
    • good
    • 0

cd A


find . |grep -v -W 1|grep -v -W 2
とか
    • good
    • 0

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