AWK では find -print は使用できません。

AWK では find -print は使用できません。

RHELの基本コマンドではなく、SUIDシステム実行可能ファイルを見つけるためのコマンドを一緒に作成しようとしています。

これを行うには、ローカルファイルシステムのリストを取得し(df --local -P)、grepにパイプしてヘッダーを削除し(grep -v ^Filesystem)、awkを使用して列6を取得し、検索を実行しました。そのフォルダにSUIDシステム実行可能ファイルがあることを確認してください(awk '{find $ 6 -xdev -type f -perm -4000 -print})。

私が経験している問題は、findコマンドで-printを使用すると構文エラーが発生しますが、それを無視すると出力がないことです。何が起こっているのか、実際に欠陥を解決する方法を理解しているのか分かりません。ここが私が助けが必要な場所です:-)。

これが完了したら、次のステップは事前定義された実行可能ファイルの配列を取得し(SUIDはデフォルトで設定する必要があることを知っています)、出力から削除することです。

df --local -P | grep -v ^Filesystem | awk '{ find $6 -xdev -type f -perm -4000 -print }'
awk: { find $6 -xdev -type f -perm -4000 -print }
awk:                                      ^ syntax error

答え1

findawk関数ではなく実行可能ファイルです。 S、awkで実行可能ファイルを呼び出すには、このsystem()関数を使用する必要があります。

cmd | awk '{system("find " $6 " -xdev -type f -perm -4000 -print")}'

関連情報