awk または sed を使用して csv セルの値を逆順に読み取って 7 列目に文字列を印刷する方法

awk または sed を使用して csv セルの値を逆順に読み取って 7 列目に文字列を印刷する方法

7番目の列には次のような値があります:

OS:J:\output\Windows\System32\winevt\Logs\Security.evtx
OS:J:\output\Windows\System32\winevt\Logs\System.evtx

値を逆順に読み取って情報を抽出し、新しい列に入れたい。

新しい列に抽出される値、たとえば「location」は次のようになります。

Location
Security.evtx
System.evtx

答え1

$ awk -F'\' '{print $7}' inputfile

答え2

チェックされている通り、最後の列は$7です。以下のコマンドを使用して値を抽出します。

指示

sed -r 's/.*\\//g' filename

出力

Security.evtx
System.evtx

答え3

質問のデータを含む7番目のフィールドの前に、表示されていないフィールドが少なくとも6つあると仮定すると、次のようなツールを使用してCSVファイルを読み取ることができます。ミラー( )をクリックして、新しい値用のmlr新しいフィールドを作成します。location

さらに、CSV ファイルにヘッダーがあり (新しいフィールドを作成するためlocation)、7 番目のフィールドのヘッダーが であると仮定するfilepathと、次の操作を実行できます。

mlr --csv put '$location = sub($filepath,".*\\","")' file

このsub()関数は、フィールド内の最後のバックスラッシュより前のすべてのテキストを削除しますfilepath。その操作の結果は、新しいlocationフィールドに割り当てられます。

テスト:

$ cat file
A,B,C,D,E,F,filepath
1,2,3,4,5,6,OS:J:\output\Windows\System32\winevt\Logs\Security.evtx
1,2,3,4,5,6,OS:J:\output\Windows\System32\winevt\Logs\System.evtx
$ mlr --csv put '$location = sub($filepath,".*\\","")' file
A,B,C,D,E,F,filepath,location
1,2,3,4,5,6,OS:J:\output\Windows\System32\winevt\Logs\Security.evtx,Security.evtx
1,2,3,4,5,6,OS:J:\output\Windows\System32\winevt\Logs\System.evtx,System.evtx
$ mlr --c2p --barred put '$location = sub($filepath,".*\\","")' file
+---+---+---+---+---+---+---------------------------------------------------------+---------------+
| A | B | C | D | E | F | filepath                                                | location      |
+---+---+---+---+---+---+---------------------------------------------------------+---------------+
| 1 | 2 | 3 | 4 | 5 | 6 | OS:J:\output\Windows\System32\winevt\Logs\Security.evtx | Security.evtx |
| 1 | 2 | 3 | 4 | 5 | 6 | OS:J:\output\Windows\System32\winevt\Logs\System.evtx   | System.evtx   |
+---+---+---+---+---+---+---------------------------------------------------------+---------------+

変更をその場で行いたい場合は、コマンド ラインの-I前にオプションを追加します。--csv

答え4

awk -F ' / ' '{print $7} yourfilename

関連情報