天天看點

Bash處理字元串系列函數(二)按分隔符拆分字元串将字元串改為小寫将字元串改為大寫

@TOC

按分隔符拆分字元串

警告: 需要

bash

4+

這是

cut

awk

和其他工具的替代品。

示例函數:

split() {
   # Usage: split "string" "delimiter"
   IFS=$'\n' read -d "" -ra arr <<< "${1//$2/$'\n'}"
   printf '%s\n' "${arr[@]}"
}           

複制

示例用法:

$ split "apples,oranges,pears,grapes" ","
apples
oranges
pears
grapes

$ split "1, 2, 3, 4, 5" ", "
1
2
3
4
5

# Multi char delimiters work too!
$ split "hello---world---my---name---is---john" "---"
hello
world
my
name
is
john           

複制

将字元串改為小寫

警告: 需要

bash

4+

示例函數:

lower() {
    # Usage: lower "string"
    printf '%s\n' "${1,,}"
}           

複制

示例用法:

$ lower "HELLO"
hello

$ lower "HeLlO"
hello

$ lower "hello"
hello           

複制

将字元串改為大寫

警告: 需要

bash

4+

示例函數:

upper() {
    # Usage: upper "string"
    printf '%s\n' "${1^^}"
}           

複制

示例用法:

$ upper "hello"
HELLO

$ upper "HeLlO"
HELLO

$ upper "HELLO"
HELLO           

複制