shell 一個字符拆分 | `reboot` |

查了好就的字符拆分,都不會,只能怪本身才藝不精,廢話很少說,整理別人的。(做爲本身筆記)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

相關文章
相關標籤/搜索