shell awk截取某一字符串并移除当中最后一位。方法越多越好,谢谢~

某文件第一行为:checkpoint:fork returned pid 7369.我现在想到得到7369的值
我用了cat xxx|grep pid|head -n1|awk '{print $5}',但是等到的是7369. ,不知应该还在awk中加什么使最后一个点也去掉。
同时要是还有别的方法,也请列出,谢谢~

第1个回答  2011-10-18
awk -F" " '{print $4}' xxx | awk -F. '{print $1}'
awk -F" " '{print $4}' xxx | sed 's/\.//g'追问

求解释,谢谢~

追答

awk -F" " '{print $4}' xxx | awk -F. '{print $1}'
以空格为分隔符 提取 7369. 以.为分隔符 提取7369

awk -F" " '{print $4}' xxx | sed 's/\.//g'
前面一样,sed 直接把.删掉

sed -re 's/[^0-9]*([0-9]*).*$/\1/;' xxx
直接提取数字

本回答被提问者采纳
相似回答