* $ echo $var| tr -cd g | wc -c2
$ echo -n$var| sed 's/[^g]//g'| wc -c2
$ echo -n$var| sed 's/[^gt]//g'| wc -c5
3.统计单词的个数
* $ echo$var | wc -w
4.bash提供的数组数据结构,它是以数字为下标的,和C语言从0开始的下一样
* $ var="get length of me"$ var_arr=($var) #这里把var字符串,以数组的形式存放到var_arr中,默认以空格分割$ echo ${var_arr[0]} ${var_arr[1]} ${var_arr[2]} ${var_arr[3]} ${var_arr[4]}
get the length of me
$ echo ${var_arr[@]} #@表示整个字符串
get the length of me
$ echo ${var_arr[*]} #*表示整个字符串
get the length of me
$ echo ${#var_arr[@]}#求得整个字符数组的元素个数5$ echo ${#var_arr[0]}#求得某个字符串的字符个数3$ var_arr[5]="new_element"#直接给数组元素赋值$ echo ${var_arr[@]}
get the length of me new_element
$ echo ${#var_arr[@]}6
* $ for i in$var; do echo $i" "; done;
get the length of me
* $ var="get length of me"
$ echo${var:0:3}
get
$ echo${var(-2)}#反方向
me
$ echo `expr substr "$var"53`
the
$ echo$var | awk '{printf("%s\n",substr($0,9,6))}'#从第九个位置开始选取6个字符
length
* 使用cut取子串
$ echo$var | cut -d" "-f5
me
* $ echo$var | sed 's/ [a-z]*//g'
get
删除空格+字母串
$ echo$var | sed 's/[a-z]* //g'
me
删除字母串+空格
7.匹配求子串
* $ echo ${var%% *} #从最右边开始,删除最左边空格右边的所有字符
get
* $ echo ${var% *} #从最右边开始,删除第一个空格右边的所有字符
get the length of
* $ echo ${var##* } #从最左边开始,删除最右边空格左边的所有字符
me
* $ echo ${var#* } #从最左边开始,删除第一个空格左边的所有字符
the length of me
8.sed有按行打印的功能,记得用tr把空格换为行号
* $ echo$var | tr " ""\n" | sed -n 5p
me
* $ echo$var | tr " ""\n" | sed -n 1p
get
* $ var="get the length of me"$ expr index "$var" t
3
* $ echo $var | awk '{printf("%d\n",match($0,"the"));}'5
12.子串替换
* $ var="get the length of me"
$ echo ${var/ /_} #把第一个空格替换成下划线
get_the length of me
$ echo ${var// /_} #把所有的空格都替换成下划线
get_the_length_of_me
$ echo$var | awk '{sub(" ","_",$0);printf("%s\n",$0);}'
get_the length of me
$ echo$var | awk '{gsub(" ","_",$0);printf("%s\n",$0);}'
get_the_length_of_me
$ echo$var | sed 's/ /_/'
get_the length of me
$ echo$var | tr " ""_"
get_the_length_of_me
$ echo$var | tr "[a-z]""[A-Z]"
GET THE LENGTH OF ME
13.tac 会将文本的内容倒置显示,正如名字和 cat 相反一样,功能和cat也是相反的
14.插入子串
* $ var="get the length of me"
$ echo ${var/ /_ } #在第一个空格前加上_
get_ the length of me
$ echo ${var// /_ } #在所有的空格前都加上_
get_ the_ length_ of_ me
$ echo ${var/ / _}
get _the length of me
$ echo ${var// / _} #在所有的空格之后都加上_
get _the _length _of _me* $ echo$var | sed 's//\1_/'#在第一个空格之后加上_
get _the length of me
$ echo$var | sed 's//\1_/g'
get _the _length _of _me
$ echo$var | sed 's/[a−z]∗ [a−z]∗/\2 \1/'#调换get和the的位置
the get length of me
Problem Description Calculate ∑ni1im mod (10000000007) for given n,m. Input Input contains two integers n,m(1≤n≤1000,0≤m≤10). Output Output the answer in a single line. Example Input 10 0 Example Output 10 方法:快速幂和大数求和
…
一:网络基础配置 1. eth0设置不正确,导致无法正常启动,修改eth0配置文件就好 ubuntu 12.04的网络设置文件是/etc/network/interfaces,打开文件,会看到 auto lo iface lo inet loopback 这边的设置是本地回路。在后…
Problem Description 一个整数,只知道前几位,不知道末二位,被另一个整数除尽了,那么该数的末二位该是什么呢?
Input 输入数据有若干组,每组数据包含二个整数a,b(0<10000,10<b<100)&…