把字符串分隔成多行的多种方法实践

    在十几年的企业Linux运维实战以及教育教学中,老男孩发现入门及初中级做Linux运维的朋友,普遍对Linux系统的核心体系命令一知半解,遇到稍微复杂操作问题还到处搜索,到处问,且不懂内部原理,直接后果就是在工作中运维很不顺手,到处搜索到处问,效率低下,以致后期做shell运维开发以及更高强度的运维管理时捉襟见肘。

希望伙伴们多重视基础,基础厚实了,学起来高大上的服务就会很简单容易,发布一个近几天网友问老男孩老师的一个问题及解答案例,

[root@oldboy ~]# cat oldboy.log
LNA00012R.ARD,LAN00013R.ARD,LNA00022R.ARD

要求达到目标:
LNA00012R.ARD
LAN00013R.ARD
LNA00022R.ARD

 

解答:若干个命令的方法

[root@oldboy ~]# egrep  -o  'L.{12}' oldboy.log      
LNA00012R.ARD
LAN00013R.ARD
LNA00022R.ARD

 

[root@oldboy /]# grep -Eo  "L.{12}" oldboy.log
LNA00012R.ARD
LAN00013R.ARD
LNA00022R.ARD

 

 

[root@oldboy ~]# sed 's#,#\n#g' oldboy.log     
LNA00012R.ARD
LAN00013R.ARD
LNA00022R.ARD

 

[root@oldboy /]# awk -F ","  '{print $1"\n"$2"\n"$3}' oldboy.log
LNA00012R.ARD
LAN00013R.ARD
LNA00022R.ARD

 

[root@oldboy /]# awk 'BEGIN{FS=",";OFS="\n";}{print $1,$2,$3}' oldboy.log
LNA00012R.ARD
LAN00013R.ARD
LNA00022R.ARD

 

[root@oldboy /]# awk '{gsub(/,/,"\n");print}' oldboy.log
LNA00012R.ARD
LAN00013R.ARD
LNA00022R.ARD

 

[root@oldboy /]#  awk '{gsub(/,/,"\n")}{print $0}'  oldboy.log
LNA00012R.ARD
LAN00013R.ARD
LNA00022R.ARD


[root@oldboy ~]# tr "," "\n" <oldboy.log
LNA00012R.ARD
LAN00013R.ARD
LNA00022R.ARD


[root@oldboy /]# xargs -d',' -n 1 <oldboy.log
LNA00012R.ARD
LAN00013R.ARD
LNA00022R.ARD

 

你可能感兴趣的:(Linux培训,蓄势待发,夯实基础)