2014-12-11 6 views
0

텍스트를 필터링하고 dd, 대문자 다음에 2 문자가있는 행을 어떻게 일치시킬 수 있습니까? 예를 들어, "20, Apr.2014", "2, Mar.2013"과 같이 4 자리 숫자는 bash 쉘만을 사용합니다. 아니 sed 또는 awk.bash 쉘 와일드 카드 패턴 일치

+0

샘플 입력/출력을 제공하고 시도해보십시오! –

+0

무엇을 시도 했습니까? 또한 예제는 당신이 원하는 것을 설명하는 것이 아닙니다. 특수 문자가 차이를 만듭니다. – Grice

+0

@Grice 아래 답변은 "20, Apr.2014"로 시작하는 줄과 일치하는 방식으로 작동합니다. 이것을 지나치게 복잡하게 만들 필요는 없다. – learnToProgram

답변

0
cat fileName | grep -E '^[0-9]{1,2},[A-Z][a-z][a-z].[0-9][0-9][0-9][0-9]' 

"20, Apr.2014", "2, Mar.2013"패턴과 일치합니다. {1,2}는 한 자리 또는 두 자리를 의미합니다.

+1

'{}'을 좀 더 짧게 만들려면''^ [0-9] {1,2}, [AZ] [az] {2}를 사용하십시오. [0-9] {4} ''. 확실하게 그것을 더 명확하게하거나, 다른 장점이 있지만, 그것은 약간 덜 입력하고 있습니다 ... – twalberg

1

이 와일드 카드를 수행해야합니다

[0-3][0-9],[A-Z][a-z][a-z].{19,20}[0-9][0-9] 

그것은 단지 20 세기와 21 세기에 년 수, 나는 그것을 확장하는 방법에 대해 분명한 생각합니다.