0

2 つ以上の引数、ファイル モード、コマンド、およびパラメーターのオプション リストを受け取り、指定されたモードのすべてのファイルに対してオプション パラメーターを指定して指定されたコマンドを実行する Unix シェル スクリプトを作成する必要があります。

たとえばmycode 644 ls -l、現在のディレクトリ内のモードが 644 のすべてのファイルに対してコマンド ls -l を実行する必要があります。

このコードを使用して、ファイルのアクセス許可を数値モードに変更します

#!/bin/sh
 mode=$1
 #it adds the numeric permission to the beginning of the line
 ls -l |awk '{k=0;for(i=0;i<=8;i++)k+=((substr($1,i+2,1)~/[rwx]/) \
         *2^(8-i));if(k)printf("%0o ",k);print }'
 .....
 shift $1
 $*

しかし、同じ権限を持つファイルのみをリストするようにコードに依頼する方法がわかりません。コードにそれを行うように依頼するにはどうすればよいですか?

4

2 に答える 2

2

findこれにはコマンドを使用します。例えば

find . -maxdepth 1 -perm 644 -exec ls -ld {} \;
于 2012-11-06T19:08:54.643 に答える