Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- sed -r 's/([A-Z]+):(.*)/1:U2/;s/([A-Z][a-z]+):([a-z])/1:U2L/' file
- $ cat case.awk
- /^[[:lower:]]+$/ { print "lower"; next }
- /^[[:upper:]]+$/ { print "upper"; next }
- /^[[:upper:]][[:lower:]]+$/ { print "capitalized"; next }
- /^[[:alpha:]]+$/ { print "mixed case"; next }
- { print "non alphabetic" }
- Jims-MacBook-Air so $ echo chihuahua | awk -f case.awk
- lower
- Jims-MacBook-Air so $ echo WOLFHOUND | awk -f case.awk
- upper
- Jims-MacBook-Air so $ echo London | awk -f case.awk
- capitalized
- Jims-MacBook-Air so $ echo LaTeX | awk -f case.awk
- mixed case
- Jims-MacBook-Air so $ echo "Jaws 2" | awk -f case.awk
- non alphabetic
- BEGIN { OFS = FS = ":" }
- $1 ~ /^[[:lower:]]+$/ { print $1, tolower($2); next }
- $1 ~ /^[[:upper:]]+$/ { print $1, toupper($2); next }
- $1 ~ /^[[:upper:]][[:lower:]]+$/ { print $1, toupper(substr($2,1,1)) tolower(substr($2,2)); next }
- $1 ~ /^[[:alpha:]]+$/ { print $1, $2; next }
- { print $1, $2 }
- $ echo BEHAVIOUR:behavior | awk -f case.awk
- BEHAVIOUR:BEHAVIOR
- $ echo Behaviour:behavior | awk -f case.awk
- Behaviour:Behavior
- $ echo behaviour:behavior | awk -f case.awk
- behaviour:behavior
- awk -F ':' '
- {
- # read Pattern to reproduce
- Pat = $1
- printf("%s:", Pat)
- # generic
- if ( $1 ~ /^[:upper:]*$/) { print toupper( $2); next}
- if ( $1 ~ /^[:lower:]*$/) { print tolower( $2); next}
- # Specific
- gsub( /[^[:upper:][:lower:]]/, "~:", Pat)
- gsub( /[[:upper:]]/, "U:", Pat)
- gsub( /[[:lower:]]/, "l:", Pat)
- LengPat = split( Pat, aDir, /:/)
- # print with the correponsing pattern
- LenSec = length( $2)
- for( i = 1; i <= LenSec; i++ ) {
- ThisChar = substr( $2, i, 1)
- Dir = aDir[ (( i - 1) % LengPat + 1)]
- if ( Dir == "U" ) printf( "%s", toupper( ThisChar))
- else if ( Dir == "l" ) printf( "%s", tolower( ThisChar))
- else printf( "%s", ThisChar)
- }
- printf( "n")
- }' YourFile
- sed -r '/^([^:]*):1$/Is//1:1/' file
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement