
端末への入力としてUnixコマンドデータセットがあり、それを使用してユーザーの動作を比較したいと思います。
異なるユーザーは、異なるディレクトリとファイル(すべて異なるコンピュータにあります)と対話します。あるユーザーが同じ引数/パラメータを使用して同じコマンドを使用していることを確認したいと思います(ただし、別のファイル名/ディレクトリを引数として使用できてうれしいです)。
論理的にこれを達成するには、データセットからファイル名とディレクトリを削除してから類似点を見つける必要がありますが、それは私の質問です。
ファイル名とディレクトリをコマンドライン引数/パラメータとして認識する方法は?
たとえば、与えられた
ls -F thesis
thesis
ファイル/ディレクトリで識別する方法(この場合、意味は理解されますls
が、より広範囲に見て実行されるコマンドの意味はわかりません)
答え1
あなたはできません。
実行するすべてのコマンドの意味を理解する必要があります。
コマンドラインでコマンドに与えられたすべての引数はプログラムに渡され、プログラムは必要に応じて何でも実行できます。プログラムは引数を一貫して解釈する必要さえありません(そうであれば、おそらくあまり役に立ちません)。
また、一部のユーザーがスペルエラー(プログラム名にも表示される可能性があります)、特定のファイルがあるかどうかを確認しようとする試み、誤解を招くファイルなど、存在しないファイルを解決した可能性があることも考慮する必要があります。私はいくつかのプログラムが与えられたパラメータが既存のファイルの名前であるかどうかによって異なる動作をしているようですが、どちらの場合も何かを行います。
ctrl-alt-delorが提案するタブ補完データは、基本的に(一般的に使用される)多くのコマンドの意味をエンコードする方法ですが、(私はこれを見るのに多くの時間を費やしていません)、シェルユーザーが誰であるかによって異なります。できます。 、それ以降に変更された可能性があります。したがって、これが進む道を提示することはできますが、問題がないわけではありません。
答え2
これにはいくつかの手動操作が含まれる場合があります。ただし、コマンドのパターンを作成したら、再利用可能にする必要があります。構成データを使用してタブを完成させることができるかどうか疑問に思います。一般的に(常にではありませんが)知っています。