확인하고 싶은 큰 ASCII 이미지가 대칭입니다. 나는 다음과 같은 파일이 말 :bash를 사용하여 ASCII 이미지의 균형을 어떻게 확인할 수 있습니까?
***^^^MMM
*^**^^MMM
**^^^^^MMMMM
첫 번째 줄은 나는 그들이 모두 분리되어, 원하는 (그것은 비록 각 이제까지 시간 3 일 필요는 없습니다) 각 섹션의 같은 양을 것입니다, 다음 두 가지는 내가 원하는 것이 아닙니다. *의 수를 세어보고, 같은 양의 ^가 있고 M이 그 다음에 오는 것을 확인하고 싶습니다. 나는 각 라인에 대한 몇 가지 대칭을 얻으려고, 그래서 이것은 좋은 것 :
나는 파일을 통해 검색하고 어쩌면 문제 라인을 grep을 어떻게**^^MM
**********^^^^^^^^^^MMMMMMMMMM
****^^^^MMMM
*^M
etc.
? cat ASCIIfile | sed 's/\^//g' | sed 's/M//g' | wc -c
으로 몇 개의 루프를 시도하고 변수에 출력을 할당 한 다음 다른 문자 수와 비교했지만 분명히 이것은 *^*^*M^MM
과 같은 명령 및 행을 고려하지 않았습니다.
'\ 1'은 (는) 경기를 대체하기 위해 어떻게 작동합니까? – bqui56
\ 1이 첫 번째 캡처 그룹입니다. 이것은 정규 표현식의 첫 번째'\ (... \)'쌍으로 둘러싸인 부분입니다. 예를 들어's/[^ M] * \ ([M] [M] * \) [^ M] */\ 1 /'에서'\ 1'은'\ ([M] [ M] * \)', 즉 연속 된 M의 문자열. – perreal
's/[^ M] * \ ([M] [M] * \) [^ M] */\ 1 /'모든 입력은 연속적인 M의 문자열로 대체됩니다. – perreal