查找大写单词中的小写字符

查找大写单词中的小写字符

我正在尝试更改以小写形式出现的几个特定字符的格式,而整个单词的格式为大写。

文件看起来像:

„АРХЕОЛОшКИ ПРЕГЛЕД (АРХЕОЛОшКИ ПРЕГЛЕД)“ - годишен информатор на Археолошкото друштво на Југославија, односно на Сојузот на археолошките друштва на Југославија. Содржи прелиминарни соопштенија од археолошки истражувања вршени на територијата на некогашна СФРЈ, подредени според 

当我尝试使用正则表达式 А-Ш 时,使用简单的正则表达式和记事本总是仅选择两个字符 ш ?有什么帮助吗?

谢谢

答案1

尝试以下操作以获取大写单词中的小写字符:

 cat file | tr ' ' '\n' | grep -o '[[:upper:]].*[[:upper:]]' | grep -o '[[:lower:]]'
  • 我们可以使用tr将每个单词拆分为单独的行。
  • grep -o '[[:upper:]].*[[:upper:]]''这将 grep 全部以大写开头和结尾的单词。
  • grep -o '[[:lower:]]'这将只 grep 小写字母。

我从你的上下文中得到的输出

ш
ш

答案2

与GNUsed

sed 's/[[:alpha:]]*[[:upper:]][[:alpha:]]*[[:upper:]][[:alpha:]]*/\U&/g'

将包含至少两个大写字母的所有字母序列转为大写。

因此将更改为АРХЕОЛОшКИАРХЕОЛОШКИ但保持Југославија原样。

相关内容