그래서 RegEx + 표기법이 무엇인지 알 것 같습니다(앞의 문자를 1번 이상 찾기). 사용법을 알 것 같네요...
echo "This is a good sentence." | awk '/go+d/ {print $0}'
(좋은 것을 찾아라, 좋다, 좋다)
그러나 나는 이 중복을 찾아야 할 실용적이고 객관적인 이유를 찾는 데 어려움을 겪고 있습니다. 다른 사람에게 설명할 수 있도록 목적에 맞는 컨텍스트를 제공하는 장면이 필요합니다.
귀하의 도움과 귀하의 지식과 경험에 의지할 수 있게 해주셔서 감사합니다.
답변1
개별 캐릭터에 대해 생각할 때 +
캐릭터 클래스를 사용하면 이것이 더 유용하다는 것을 알게 될 것입니다.
- 공백:
\s+
- 숫자가 아닌 문자:
[^0-9]+
- 한 단어:
\w+
- 비어 있지 않은 문자열:
.+
- 등.
이를 통해 실제 사례를 쉽게 생각해 볼 수 있습니다. 어쩌면 들여쓰기된 텍스트가 있는 줄을 찾고 싶을 수도 있습니다 ^\s+\S
. 아니면 비어 있지 않은 모든 줄을 찾고 싶을 수도 있습니다 ^.+$
. 원하시면 더 많은 것을 생각해 낼 수 있습니다. ;)
답변2
*
다음은 피해를 입히지 않고 사용하는 실제 예 +
입니다(주로 OP는 와일드카드 대신 정규식을 사용하게 될 것이라는 사실을 깨닫지 못했기 때문에).이 명령이 모든 패키지를 삭제하는 이유는 무엇입니까?
apt-get install
합계의 매개변수는apt-get remove
다음과 같습니다.쉘 와일드카드 대신 정규식 확장; 뒤에는 임의의 개수의 가 오는wine*
것을 의미하며 이는 패키지 이름의 모든 부분과 일치할 수 있으므로 이름에 하위 문자열이 포함된 모든 패키지를 의미합니다.win
e
win
OP가 실행되어 sudo apt-get remove wine*
시스템에 설치된 패키지 대부분이 제거되었습니다. 반면, 그 안에 포함된 패키지는 wine+
제거됩니다 .wine