単一の列でgrepを実行する方法は?

単一の列でgrepを実行する方法は?

ls -lgrepコマンドの出力が必要です。

-rw-r--r--   1 root root       1866 Feb 14 07:47 rahmu.file
-rw-r--r--   1 rahmu user     95653 Feb 14 07:47 foo.file
-rw-r--r--   1 rahmu user   1073822 Feb 14 21:01 bar.file

$3列でのみ実行したいgrep rahmuので、コマンドの出力はgrep次のようになります。

-rw-r--r--   1 rahmu user     95653 Feb 14 07:47 foo.file
-rw-r--r--   1 rahmu user   1073822 Feb 14 21:01 bar.file

最も簡単な方法は何ですか?答えは多くのUniceに移植可能でなければならず、LinuxとSolarisに焦点を当てることをお勧めします。

注:特定のユーザーに属するすべてのファイルを見つける方法を探しているわけではありません。この例は、私の質問をより明確にするために提供されています。

ベストアンサー1

もう一度awk状況を保存することができます!

比較的単純な構文を使用した簡単なアプローチは次のとおりです。

ls -l | awk '{if ($3 == "rahmu") print $0;}'

はるかに簡単です。(コメントにPeter.Oに感謝します)

ls -l | awk '$3 == "rahmu"' 

おすすめ記事