• ベストアンサー

ファイルの所有者だけを得るコマンドは?

ファイルの所有者をユーザ名で取得するコマンドはないでしょうか。 目的は、シェルスクリプトの中で変数に代入して使いたいからです。 人間が見るためにはls -lでいいのですが、スクリプトの中で使用しようとするとsedで加工したり、ディレクトリ名を指定するとそのディレクトリ自体ではなくディレクトリ内のファイルが対象になってしまったりするので切り分けが面倒です。 ファイルの所有者だけが表示されるようなコマンドがあれば楽なのですが、そのようなコマンドはあるでしょうか? よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • entree
  • ベストアンサー率55% (405/735)
回答No.1

> ファイルの所有者だけが表示されるようなコマンドがあれば楽なのです > が、そのようなコマンドはあるでしょうか? ないと思います。 > 人間が見るためにはls -lでいいのですが、スクリプトの中で使用しようと > するとsedで加工したり、 sed でもできるでしょうが、普通は awk だと思います。 ls -ld file | awk '{ print $2 }' (owner のフィールドがどこだったかすぐに確認できませんが、2番目のフィールドだった場合) > ディレクトリ名を指定するとそのディレクトリ自 > 体ではなくディレクトリ内のファイルが対象になってしまったりするの > で切り分けが面倒です。 -d オプションでディレクトリの場合はディレクトリ自体を表示することが できたと思います。 ちなみに、パーミッションを取得するのはもうちょっと面倒です。

annyG
質問者

お礼

ありがとうございます。 なるほど、確かにawkの方が全然簡単ですね。参考にさせていただきます。

関連するQ&A