在十几年的企业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
2016-11-16
把字符串分隔成多行的多种方法实践
评论
发表评论
姓 名: