字符串分隔之一题多解

问题:要求将aabbcc,分隔为aa-bb-cc

解答:以下为收集到的解法

 

echo 'aabbcc'|sed -r 's/(..)(..)(..)/\1-\2-\3/'

 

echo 'aabbcc'| sed -r 's/bb/-&-/'

 

echo "aabbcc"|cut --output-delimiter=- -b1-2,3-4,5-6

echo "aabbcc"|cut --output-delimiter=- -c1-2,3-4,5-6

 

 echo aabbcc | awk "NF+=0" FIELDWIDTHS="2 2 2" OFS="-"

 

 

 

 

 

 

 

perl -pe's#.\K(?=(..)+\b)#-#g'

 

 

欢迎补充~

 

问题二

qwerrtttt
awrtghgg
aaadwtygt
bsddrfeew这是原始文本

qwerrttta
twrtghgg
aaadwtygb
tsddrfeew 这是需要得到的文本

 

 

解法

 

 

cat file |xargs -n 2|sed -r 's#(.) (.)#\2\n\1#'

 

sed -r 'N;s#(.)(\n)(.)#\3\2\1#'  file

/aa/{N;s#.# #}     表示只有匹配aa才操作后面的操作
/aa/{N};s#.# #    表示只有匹配aa才执行N,后面的s全部都执行

 

 

posted on 2021-06-03 11:24  mrqiao001  阅读(52)  评论(0编辑  收藏  举报