awk 또는 sed를 사용하여 csv 셀 값을 거꾸로 읽어 일곱 번째 열의 문자열을 인쇄하는 방법

awk 또는 sed를 사용하여 csv 셀 값을 거꾸로 읽어 일곱 번째 열의 문자열을 인쇄하는 방법

다음 값을 가진 일곱 번째 열이 있습니다.

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

값을 거꾸로 읽어서 정보를 추출해서 새로운 컬럼에 넣고 싶습니다.

"위치"가 다음과 같다고 가정할 때 새 열에서 추출할 값은 다음과 같습니다.

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

(새 필드를 생성하려고 하기 때문에 location) CSV 파일에 헤더가 있고 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

관련 정보