답변1
다음을 수행해야 합니다.
perl -F, -lane 'print if $F[7] eq "NAB-ITSA-LINUX-7"' URT_Compare_20180715191103.csv
아래에 언급된 세 가지 사항을 처리하면 괜찮을 것입니다.
- "==" 연산자는 피연산자의 수학적 동일성을 테스트하는 데 사용됩니다. 귀하의 경우처럼 문자열 비교를 위해서는
eq
이것이 전부입니다. - 상수 문자열은 따옴표로 묶어야 하며 OTW는 서브루틴으로 처리됩니다.
- Perl 배열 인덱싱은 0부터 시작하므로 실제로 배열의 요소를
$F[8]
참조합니다 .ninth
@F
기본 가정은 다음과 같습니다.
- 8차전은 부분 비교가 아닌 전체 필드 비교다. 즉, 콘텐츠는 문자 오류 없이 여기에 표시된 것과 정확히 같아야 합니다.
- 필드가 분할되고 필드 수가 변경되므로 모든 필드에 쉼표를 사용하지 마십시오.
- 줄 끝이 Unix 줄 끝(
LF = \n
)인 것이 바람직하다는 점을 제외하고는 중요하지 않습니다. 그렇지 않은 경우 먼저 변환해야 합니다.
답변2
1 단계: 먼저 8열의 내용을 확인하세요.
awk -F, '{print $8}' URT_Compare_20180715191103.csv
2 단계: 그런 다음 원하는 패턴을 찾아보세요.
awk -F, '{print $8}' URT_Compare_20180715191103.csv | grep "WINDOWS2000-2"
3단계: 2단계에서 원하는 결과를 얻었으면 다음 코드를 시도해 보세요.
awk -F, '$8 ~ "WINDOWS2000-2" ' URT_Compare_20180715191103.csv