소문자로 표시되는 몇 가지 특정 문자와 대문자로 전체 단어의 형식을 변경하려고 합니다.
파일은 다음과 같습니다:
„АРХЕОЛОшКИ ПРЕГЛЕД (АРХЕОЛОшКИ ПРЕГЛЕД)“ - годишен информатор на Археолошкото друштво на Југославија, односно на Сојузот на археолошките друштва на Југославија. Содржи прелиминарни соопштенија од археолошки истражувања вршени на територијата на некогашна СФРЈ, подредени според
정규식 А-Ш를 사용하려고 할 때 간단한 정규식과 메모장을 사용하면 항상 두 문자 ш?만 선택됩니다. 도움이 필요하세요?
감사해요
답변1
대문자 단어에서 소문자를 얻으려면 다음을 시도하십시오.
cat file | tr ' ' '\n' | grep -o '[[:upper:]].*[[:upper:]]' | grep -o '[[:lower:]]'
tr
각 단어를 별도의 줄로 분할하는 방법을 사용할 수 있습니다 .grep -o '[[:upper:]].*[[:upper:]]''
이것은 모두 대문자로 시작하고 끝나는 단어를 찾아냅니다.grep -o '[[:lower:]]'
이것은 소문자에 대해서만 grep됩니다.
귀하의 상황에서 얻은 결과
ш
ш
답변2
GNU와 함께sed
sed 's/[[:alpha:]]*[[:upper:]][[:alpha:]]*[[:upper:]][[:alpha:]]*/\U&/g'
두 개 이상의 대문자를 포함하는 모든 문자 시퀀스를 대문자로 변환합니다.
따라서 로 변경되지만 АРХЕОЛОшКИ
그대로 유지 АРХЕОЛОШКИ
합니다 .Југославија