
コマンドを に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 コマンドは引数なしで呼び出されることはありません。
execplus 機能はfind
1989 年に David Korn によって SVr4 用に追加されました。
答え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 では) を使用して、コマンド ラインで指定されたパスのいずれかに一致しないようにしますfind
。
ls
(無視させる方法については.
、私にはわかりません。)