다음 내용이 포함된 "rules.txt"라는 파일이 있습니다.
Jones 2 IP1 1P2
이제 문제는 "Jones 2"가 단어여야 하는가입니다. 내 스크립트가 이것을 이해하도록 하려면 어떻게 해야 합니까?
파일의 모든 줄은 일관됩니다. 기본적으로 NAT 규칙 이름, 시작 IP 주소 및 끝 IP 주소가 있습니다. NAT 규칙 이름은 공백으로 구분되며 IP 주소 사이에는 탭 문자가 있습니다.
나는 분열을 일으키는 일을 하고 싶지 않습니다. 나는 "Jones 2"를 읽고 while 루프에서 IP1과 IP2를 3개의 별도 항목으로 읽고 싶습니다.
답변1
당신은부터 시작할 수 있습니다
perl -pe 's/,/./g;s/ +/,/g' rules.txt
그런 다음 쉼표로 구분합니다. 주석의 두 가지 모두 awk
텍스트 조작에 널리 사용되는 도구 세트인 정규식을 사용합니다.
( +)
( {2,})
"두 개 이상의 공백"을 의미하는 둘 다의 동의어입니다 . "+" 앞에 공백이 두 개 있지만 stackexchange 인라인 코드 블록은 공백을 따르지 않습니다.