偶遇的shell題:python
把"------"短線上的數據處理成線下的數據shell
0,1,2,10,22,00,01,2,3,33bash
-----------------------------------ide
00,01,02,10,22,00,01,02,03,33
函數
我認可,我落伍了,智力測驗 + 能力檢驗麼?it
方法一: awk + awk 內置字符處理函數 + awk 控制語句io
方法二: bashclass
貌似bash對文本批量處理的功能比較弱,不過度割之後,再經過bash的變量擴展(Parameter Expansion)仍是很方便的。awk
其它語言,python,perl應該會更好處理。變量
方法一:
echo -en '0,1,2,10,22,00,01,2,3,33' |awk 'BEGIN{RS=",";ORS=","}{if (length($0)<2) {print "0"$0} else { print $0} }' |sed -r 's/^(.*),$/\1/g'
方法二:
#!/bin/bash str="0,1,2,10,22,00,01,2,3,33" typeset -i n typeset -a tmp for s in ${str//,/ } do [ ${#s} -lt 2 ] && tmp[n]=0$s || tmp[n]=$s ((n++)) done STR=${tmp[*]} echo ${STR// /,}