몇 가지 생각을 한 후에 다시 다음과 같은 줄 번호 목록을 얻습니다 grep
.awk
grep
20
55
98
154
1100
...
내가 사용하는 명령은 다음과 같습니다.
grep '01/01' /var/log/some.log | grep 'some' | awk '{print $10}' | grep -vn 200 | awk -F ':' '{print $1}'
이제 이 명령을 계속해서 파이프하여 이 파일에서 다음 줄을 인쇄하고 싶습니다. 어떤 아이디어가 있나요?
awk '{print $10}'
간단히 삭제할 수 있다는 것을 알고 있지만 awk -F ':' '{print $1}'
어떤 이유에서인지 삭제하면 결과가 나오지 않습니다. 반면에 위에 게시된 명령을 사용하려고 하면 숫자 목록이 표시됩니다.
답변1
해결책:
| xargs -I{} sed '{}q;d' /var/log/some.log
논평:
sed
awk
좀 더 자세한 명령 이나 명령을 작성하여 perl
긴 파이프 목록(위의 마지막 단계 포함)을 줄일 수 있습니다.
perl -lane 'print $F[9] if /01\/01/ and /some/ and $F[9]!~/200/' /var/log/some.log