ls -l
コマンドの出力をgrepしたい:
-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
grep rahmu
列3でのみ実行したいので、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
最も簡単な方法は何ですか?答えは多くのUnixで移植可能でなければならず、できればLinuxとSolarisに焦点を合わせます。
注:特定のユーザーに属するすべてのファイルを見つける方法を探しているわけではありません。この例は、私の質問を明確にするためにのみ提供されました。
--printf
オプションについて言及しstat
ますls
。ただし、通常find
は(@Gillesが述べたように)必要なものです。
ls
は本質的に脆弱であることに注意してください(ユーザー名に空白が含まれているとどうなるかを考えてください-はい、これは一部のプラットフォームで起こります)。find
代わりに使用してください。