find
xargs
結果にコマンドが渡されましたls -d
。一致するファイルがない場合は、次のようになります。
.
私の唯一の出力は基本的に次のようls -d
になります。
.
..., (ファイル名) 引数が指定されていない場合。パラメータを渡さないときにls -d
それを省略し.
て出力を表示しない方法はありますか?
修正するls -d
:あなたは見せないと確信できません.
:
.
ls -d -A\ # Skip implied
--hide=.\ # No, really, skip implied
--ignore=. # I mean it, damn it!
.
:)
答え1
xargs
と一緒に使うにはあまりにもfind
1980年代です...
たとえば、次のようになります。
find . -type d -exec ls -d {} +
そして、lsコマンドは引数なしで呼び出されません。
find
David Kornは1989年にSVr4にexecplus機能を追加しました。
答え2
あなたがタグ付けしましたオペレーティングシステムしたがって、おそらく次のオプションを持つGNU xargsを実行します。
-r, --no-run-if-empty
If the standard input does not contain any nonblanks, do not run the command.
の場合find ... | xargs -r ls -d
、何も一致しないとls
まったく始まりません。find
find
それでも.
明示的に一致できます。これを防ぐには、! -name .
検索式に追加してください。または、コマンドラインで指定されたパスと一致しないように-mindepth 1
するには(GNU検索で)を使用します。find
ls
(無視する方法は.
よくわかりません。)