云网牛站
所在位置:首页 > Linux命令 > Linux Bash命令示例:字符串相关

Linux Bash命令示例:字符串相关

2017-10-19 21:59:42作者:Linux编辑稿源:topspeedsnail

生成字母a-z

$ echo {a..z}

$ echo {A..Z}

Linux Bash命令示例:字符串相关

 

生成不带空格的字母a-z

$ printf "%c" {a..z}

$ printf "%c" {A..Z}

加入空行:

$ printf "%c" {a..z} $'n'

$ printf "%c" {A..Z} $'n'

# 或

$ echo $(printf "%c" {a..z})

$ echo $(printf "%c" {A..Z})

Linux Bash命令示例:字符串相关

 

一行一个字符:

$ printf "%cn" {a..z}

同样的,也可以生成数字:

$ echo {1..100}

$ seq 1 100

 

在数字前补零

$ printf "%02d " {0..9}

Linux Bash命令示例:字符串相关

 

字符串排列组合

$ echo {a,b,c}{1,2,3}

Linux Bash命令示例:字符串相关

取a和{1,2,3}组合生成a1,a2,a3, b,c同理。

 

生成10个字符串的拷贝

$ echo foo{,,,,,,,,,,}

Linux Bash命令示例:字符串相关

 

连接两个字符串

$ x=abc

$ b=def

$ echo "$x$y"

Linux Bash命令示例:字符串相关

 

用指定字符分割字符串

$ IFS=- read -ra parts <<< "abc-def-ght"

$ echo ${parts[0]}

$ echo ${parts[1]}

$ echo ${parts[2]}

Linux Bash命令示例:字符串相关

 

遍历字符串

$ str=abcdef

$ while IFS= read -rn1 c; do

echo $c

done <<< "$str"

Linux Bash命令示例:字符串相关

 

字符串替换

$ str=foo_bar_foo_bar

$ echo ${str/foo/bar}

${var/find/replace},把先找到的foo替换为bar

Linux Bash命令示例:字符串相关

替换全部:

$ str=foo_bar_foo_bar

$ echo ${str//foo/bar}

Linux Bash命令示例:字符串相关

 

字符串匹配

$ if [[ $file = *.zip ]]; then

# do something

fi

判断file是不是zip文件。

 

正则表达式

$ if [[ $str =~ [0-9]+.[0-9]+ ]]; then

# do something

fi

上面匹配一个数字,一个点,一个数字。

 

获得字符串的长度

$ str=abcdef

$ echo ${#str}

Linux Bash命令示例:字符串相关

 

提取字符串中的子串

$ str="hello world"

$ echo ${str:6}

$ echo ${str:7:2}

Linux Bash命令示例:字符串相关

 

字符串中字母转大写

$ declare -u var

$ var="abc def"

$ echo $var

$ str="abc def"

$ echo ${str^^}

Linux Bash命令示例:字符串相关

 

字符串中字母转小写

$ declare -l var

$ var="ABC DEF"

$ echo $var

$ str="ABC DEF"

$ echo ${str,,}

Linux Bash命令示例:字符串相关

Linux命令子频道
精选文章
热门文章