Linux
大寫字母前加空格
我有一個字元串:
AddData TestSomething TellMeWhoYouAre
等等。我想在大寫字母之前添加空格。我該怎麼做?
使用
sed
, 並假設您不希望單詞前面有空格:$ sed 's/\([^[:blank:]]\)\([[:upper:]]\)/\1 \2/g' file.in Add Data Test Something Tell Me Who You Are
替換將查找緊跟在另一個非空白字元之後的大寫字母,並在兩者之間插入一個空格。
對於具有多個連續大寫字元的字元串,例如
WeAreATeam
,這將產生We Are ATeam
. 要對此進行排序,請再次執行替換:$ sed -e 's/\([^[:blank:]]\)\([[:upper:]]\)/\1 \2/g' \ -e 's/\([^[:blank:]]\)\([[:upper:]]\)/\1 \2/g' file.in