質問編集履歴

3

日本語を訂正

2020/06/26 04:02

投稿

Kchan_01
Kchan_01

スコア110

test CHANGED
File without changes
test CHANGED
@@ -58,4 +58,4 @@
58
58
 
59
59
  だと、なぜ`.git`と`out`ディレクトリが除かれるのでしょうか。
60
60
 
61
- `-o -print`の動き方が`-name '.git' -o -name 'out'`の動き方と異なるように思います。
61
+ `-o -print`の`-o`の動き方が`-name '.git' -o -name 'out'`の動き方と異なるように思います。

2

疑問を追記

2020/06/26 04:02

投稿

Kchan_01
Kchan_01

スコア110

test CHANGED
File without changes
test CHANGED
@@ -39,3 +39,23 @@
39
39
 
40
40
 
41
41
  どういうロジックで動いているのでしょうか。
42
+
43
+
44
+
45
+
46
+
47
+ ## 追記 2020/06/26 12:56
48
+
49
+
50
+
51
+ find . -print ( -name '.git' -o -name 'out' ) -prune の実行結果だと`.git`と`out`ディレクトリを含むが`.git`と`out`下の階層は検索しない結果が返ります。
52
+
53
+ これはfind . -printの結果を-pruneで絞っているということだと思います。
54
+
55
+
56
+
57
+ find . ( -name '.git' -o -name 'out' ) -prune -o -print
58
+
59
+ だと、なぜ`.git`と`out`ディレクトリが除かれるのでしょうか。
60
+
61
+ `-o -print`の動き方が`-name '.git' -o -name 'out'`の動き方と異なるように思います。

1

文章に加筆

2020/06/26 04:00

投稿

Kchan_01
Kchan_01

スコア110

test CHANGED
File without changes
test CHANGED
@@ -34,7 +34,7 @@
34
34
 
35
35
 
36
36
 
37
- `-prune`は該当するディレクトリに降りない、ということのはずですが、除外するという機能はどこに出てきているのでしょうか。orは条件式で言うところの'||'に該当する「または」だと思いますがピンと来なくて気持ち悪いです。
37
+ `-prune`は該当するディレクトリに降りない、ということのはずですが、除外するという機能はどこに出てきているのでしょうか。orは条件式で言うところの'||'に該当する「または」だと思いますが-printを指定してしまうと結局すべて出るのが正しいと思います。ピンと来なくて気持ち悪いです。
38
38
 
39
39
 
40
40