这个教程是卡饭论坛上一个网友的问题,原文件地址:https://bbs.kafan.cn/thread-2160330-1-1.html
关键词:shell分割文本 shell截取文本 shell载取字符串 awk截取字符串
原创内容,转载请注明出处:https://www.myzhenai.com.cn/post/3035.html
其实他第一楼的问题使用转义符号“\”是就可以实现的,但是好像他要实现的功能并不在于转义符,更多像是要在一个字符串里截取一段或多段指定的字符。我原来好像写过一个截取字符的教程。
Linux Shell截取字符窜教程:https://www.myzhenai.com.cn/post/2254.html
看了关天,我好像看懂了一些这网友的问题所在,好像他是要在以下这行命令中取出 Max rtt Min rtt Avg rtt这三段字符,但是在使用awk的时候是有些受限制的。
sh -c ' echo "Max rtt: 201.030ms | Min rtt: 201.030ms | Avg rtt: 201.030ms"|awk -F ":" "{print $1}" '
刚开始,我的思路是用awk的变量来操作,但是经过测试,使用awk变量还是比较麻烦,倒不如使用tr命令配合awk来得快速简单一些。
echo "Max rtt: 201.030ms|Min rtt: 201.030ms|Avg rtt: 201.030ms|"|awk -F "|" '{ print $1,$2,$3 }'|awk -F ":" '{ print $1,$2,$3 }' #将字符串分为三段,并用|做为分隔符来取出|之前的字符串,但是得到的是一整串的字符串,再想往下取就有点麻烦了。
最方便的是使用tr命令来分割文本,然后将分割后的文本做为一个单独的字符串来进行截取。
echo "Max rtt: 201.030ms|Min rtt: 201.030ms|Avg rtt: 201.030ms"|tr "|" "\n"|awk -F ":" '{ print $1}'
sicnature ---------------------------------------------------------------------
I P 地 址: 18.189.143.1
区 域 位 置: 美国
系 统 信 息:
Original content, please indicate the source:
同福客栈论坛 | 蟒蛇科普 | 海南乡情论坛 | JiaYu Blog
sicnature ---------------------------------------------------------------------
Welcome to reprint. Please indicate the source https://myzhenai.com/post/3035.html
没有评论