Menggunakan sed
, dan dengan asumsi Anda tidak menginginkan spasi di depan kata:
$ sed 's/\([^[:blank:]]\)\([[:upper:]]\)/\1 \2/g' file.in
Add Data
Test Something
Tell Me Who You Are
Substitusi akan mencari huruf besar tepat setelah karakter non-spasi putih lainnya, dan menyisipkan spasi di antara keduanya.
Untuk string dengan lebih dari satu karakter huruf besar berturut-turut, seperti WeAreATeam
, ini menghasilkan We Are ATeam
. Untuk mengurutkannya, jalankan substitusi untuk kedua kalinya:
$ sed -e 's/\([^[:blank:]]\)\([[:upper:]]\)/\1 \2/g' \
-e 's/\([^[:blank:]]\)\([[:upper:]]\)/\1 \2/g' file.in
Perl, menggunakan ekspresi reguler lookbehind dan lookahead dengan lebar nol:
$ perl -pe 's/(?<=\w)(?=[A-Z])/ /g' file.in
Tell Me Who You Are ## TellMeWhoYouAre
I Am A Regular Expression User ## IAmARegulaExpressionUser
Versi ini juga memisahkan huruf besar berurutan.
sed -r -e "s/([^A-Z])([A-Z])/\1 \2/g"
Tambahkan spasi di antara huruf yang bukan huruf besar dan huruf yang bukan huruf besar
Kemas ulang gambar sistem file dari vmlinux.bin (initramf tertanam) tanpa membangun kembali?
Cara menentukan apakah komputer memiliki TPM (Trusted Platform Module) yang tersedia