CSV 콘텐츠는 다음과 같습니다.
Family,URL,IP,FirstSeen
Pony,http://officeman.tk/images/admin.php,207.180.230.128,01-06-2019
Pony,http://learn.cloudience.com/ojekwaeng/yugo/admin.php,192.145.234.108,01-06-2019
Pony,http://vman23.com/ba24/admin.php,95.213.204.53,01-06-2019
URL
다음을 사용하여 열을 선택할 수 있다는 것을 알고 있습니다 .
mlr --mmap --csv --skip-comments --headerless-csv-output cut -f 'URL'
Miller를 사용하여 다른 명령으로 연결하지 않고 도메인을 추출하려면 어떻게 해야 합니까?
원하는 출력:
officeman.tk
learn.cloudience.com
vman23.com
답변1
밀러의 스위스 군용 칼은놓다동사 - 전체에 대한 액세스를 제공합니다.도메인 특정 언어데이터 변환을 위해. 거기에는 여러 가지 방법이 있습니다.
- 정규식을 사용하여 URL의 도메인 부분을 일치시키고 캡처합니다.
- 정규식을 사용하여 선행 및 후행 구성 요소 자르기
- URL을 구분된 문자열로 분할
예를 들어
mlr --mmap --csv --skip-comments --headerless-csv-output put -S '
$URL =~ "https?://([^/]+)"; $Domain = "\1"
' then cut -f Domain file.csv
또는
mlr --mmap --csv --skip-comments --headerless-csv-output put -S '
m = splitnvx($URL,"/"); $Domain = m[3]
' then cut -f Domain file.csv
답변2
다른 명령을 사용할 수 있으면 시도해 볼 수 있습니다 awk
. 명령은 다음과 유사합니다.
awk -F\/ 'FNR!=1 {print $3}' input_file.csv
아이디어는 /
구분 기호로 사용하고 필드 3을 인쇄하는 것 입니다.
답변3
달리기
mlr --c2n put '$m = splitnvx($URL,"/")[3]' then cut -f m input.csv
당신은 할 것
officeman.tk
learn.cloudience.com
vman23.com