行から特定のフィールドを切り取る方法は?cutまたはAwkを使用する特定のフィールド
cut -d ' ' -f 1,2,3,4,5,9,10,11,12,13,14
はフィールドが変更されるため使用できません。
のは、私はは/ var/log/testというファイルがあり、ファイル内の行の1は次のようになりましょう:
Apr 12 07:48:11 172.89.92.41 %ASA-5-713120: Group = People, Username = james.robert, IP = 219.89.259.32, PHASE 2 COMPLETED (msgid=9a4ce822)
私はユーザー名と日付/時刻を取得する必要があり
(してください
がgrep "james" /var/log/tes | cut -d ' ' -f 1,2,3,4,5,9,10,11,12,13,14
が私のために動作しません、それが持っているので:。ノートの列は、私が使用している場合、それは私がユーザ名= james.robertと一致する必要がある理由だと4月12日午前7時48分11秒
、変化し続けますユーザー名と一致するようにするeとユーザー名とデータ/時間だけを表示します。助言がありますか?
ので、[OK]を私はこれを使用します。
awk -F'[ ,]' '$12~/username/{print $1,$2,$3,$12}' /var/log/test
をしかしフィールドは動かし続けるので、それは、一部のユーザーではなく、他人のために動作します。
このコマンドのサンプル出力は次のとおりです。
4月12日午前6時00分39秒james.robert
しかし、私は、このユーザー名でこのコマンドをしようとすると、それは動作しません。以下を参照してください:ここ
上記のコマンドでは何も表示されないことをもう一つの例である:
Apr 8 12:16:13 172.24.32.1 %ASA-6-713228: Group = people, Username = marry.tarin, IP = 209.157.190.11, Assigned private IP address 192.168.237.38 to remote user
最初のフィールドは常に日付ですか? –
はいです。ユーザー名は移動し続けます。 –
例として複数のレコードを投稿してください。あなたは私たちのカップルから尋ねられました。私たちは暗闇の中で撮影しており、あなたのエッジケースでは推測できません。 – JNevill