![Cisco의 "start" 명령에 해당하는 Linux](https://linux55.com/image/43084/Cisco%EC%9D%98%20%22start%22%20%EB%AA%85%EB%A0%B9%EC%97%90%20%ED%95%B4%EB%8B%B9%ED%95%98%EB%8A%94%20Linux.png)
Cisco IOS에서는 다양한 내장 도구를 사용하여 명령 출력을 필터링하고 조작할 수 있습니다. 그들 중 일부는 명확한 Linux와 동등한 기능을 가지고 있습니다. 예를 들어, "exclude" 및 "include"는 "grep -v" 및 "grep" 동작을 제공합니다.
"begin" 명령은 모든 입력 텍스트를 출력합니다.뒤쪽에정규식 패턴과 일치합니다. Linux에서 이러한 종류의 동작에 상응하는 방법이 있습니까?
답변1
물론 awk를 사용하면 이 작업을 쉽게 수행할 수 있습니다.
$ echo -e 'a\nb\nc\nd' | awk '{if (p) {print;}} /^b$/ { print; p=1;}'
b
c
d
$ echo -e 'a\nb\nc\nd' | awk '{if (p) {print;}} /^b$/ { p=1;}'
c
d
이는 다음과 같이 축약될 수도 있습니다(@manatwork에게 감사드립니다).
$ echo -e 'a\nb\nc\nd' | awk '/^b$/{p=1} p'
b
c
d
$ echo -e 'a\nb\nc\nd' | awk 'p; /^b$/{p=1}'
c
d
이것을 편리한 쉘 스크립트로 변환하는 것은 사용자의 연습 문제로 남겨집니다.
답변2
grep -A1000 search
각 일치 라인 다음에 999라인의 출력을 제공합니다.
답변3
less
그런 다음 다음을 사용하여 /검색하십시오 .
petrus@hive:/usr/bin$ ls -l | less
total 535796
-rwxr-xr-x 1 root root 30244 2011-02-23 14:22 [
lrwxrwxrwx 1 root root 8 2011-05-26 01:22 2to3 -> 2to3-2.7
-rwxr-xr-x 1 root root 96 2011-04-11 21:07 2to3-2.7
[...]
-rwxr-xr-x 1 root root 9588 2011-02-24 09:43 appres
-rwxr-xr-x 1 root root 6930 2011-05-20 23:53 apr-1-config
:
지금 입력하면 /"less" 프롬프트( :
)가 변경됩니다. "lsusb"를 검색하면:
-rwxr-xr-x 1 root root 9588 2011-02-24 09:43 appres
-rwxr-xr-x 1 root root 6930 2011-05-20 23:53 apr-1-config
/lsusb
lrwxrwxrwx 1 root root 13 2011-05-26 01:24 lsusb -> ../sbin/lsusb
-rwxr-xr-x 1 root root 114528 2010-11-24 18:16 ltrace
[...]
답변4
sed에서는 매우 간단합니다. $
패턴( )과 일치하는 첫 번째 줄부터 마지막 줄까지 모든 줄을 인쇄합니다.
sed -n '/pattern/,$p'
패턴과 일치하는 줄을 생략하려면 해당 줄 앞의 모든 내용(해당 줄 포함)을 삭제하세요.
sed '1,/pattern/d'