重要なお知らせ

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

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

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

A 回答 (1件)

> ファイルの所有者だけが表示されるようなコマンドがあれば楽なのです


> が、そのようなコマンドはあるでしょうか?

ないと思います。

> 人間が見るためにはls -lでいいのですが、スクリプトの中で使用しようと
> するとsedで加工したり、

sed でもできるでしょうが、普通は awk だと思います。

ls -ld file | awk '{ print $2 }'
(owner のフィールドがどこだったかすぐに確認できませんが、2番目のフィールドだった場合)

> ディレクトリ名を指定するとそのディレクトリ自
> 体ではなくディレクトリ内のファイルが対象になってしまったりするの
> で切り分けが面倒です。

-d オプションでディレクトリの場合はディレクトリ自体を表示することが
できたと思います。

ちなみに、パーミッションを取得するのはもうちょっと面倒です。
    • good
    • 0
この回答へのお礼

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

お礼日時:2009/05/31 22:58

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