查了好就的字符拆分,都不會,只能怪本身才藝不精,廢話很少說,整理別人的。(做爲本身筆記)node
字符:12345abcde
拆分紅:
1
2
3
4
5
a
b
c
d
ebash
方法
spa
echo 12345abcde | awk -F '' '{for(i=1;i<=NF;i++)print $i}'orm
echo 12345abcde | sed 's/./&\n/g'字符串
echo 12345abcde | grep -Po '.'awk
echo "12345abcde" | fold -w1sed
而後grep
求1000!的結果中包含多少個0?注:1000! = 1×2×3×4×5×...×999×1000方法
[root@node4 ~]# cat t.sh
#!/bin/bash
export a=1
for i in `seq 1 1000`
do
a=`expr $a \* $i`
done
echo $aim
[root@node4 ~]# sh t.sh | awk -F '' '{for(i=1;i<=NF;i++) ++S[$i] } END{for (i in S) if( i == 0 ) print i " "S[i]}'
0 472
那0到9呢
[root@node4 ~]# sh t.sh | awk -F '' '{for(i=1;i<=NF;i++) ++S[$i] } END{for (i in S) print i " "S[i]}'
4 229
5 213
6 231
7 217
8 257
9 246
0 472
1 239
2 248
3 216
查詢一個字符串中字符 B 所在位子
[root@node4 ~]# cat aa
dfgsBfrgB
\frgfvregB
B
grg
fsdvgbBef
Bfrg
[root@node4 ~]# awk -F '' '{for(i=1;i<=NF;i++)S[i]=$i ;for (i in S) if(S[i] == "B")print i" " S[i] " row " NR;delete S}' aa5 B row 19 B row 110 B row 21 B row 37 B row 51 B row 6