我正在尝试更改以小写形式出现的几个特定字符的格式,而整个单词的格式为大写。
文件看起来像:
„АРХЕОЛОшКИ ПРЕГЛЕД (АРХЕОЛОшКИ ПРЕГЛЕД)“ - годишен информатор на Археолошкото друштво на Југославија, односно на Сојузот на археолошките друштва на Југославија. Содржи прелиминарни соопштенија од археолошки истражувања вршени на територијата на некогашна СФРЈ, подредени според
当我尝试使用正则表达式 А-Ш 时,使用简单的正则表达式和记事本总是仅选择两个字符 ш ?有什么帮助吗?
谢谢
答案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'
将包含至少两个大写字母的所有字母序列转为大写。
因此将更改为АРХЕОЛОшКИ
,АРХЕОЛОШКИ
但保持Југославија
原样。