我想用awk,cut命令来截取某一列的字符串,字符串的格式:"....../........",我只想要"....../",

我自己写了一下命令awk'{if($12!~/\//)print$12|cut-d'/'-f1}'temp.log|teemmm.log,但总是awk:(FILENAME... 我自己写了一下命令awk '{if($12!~/\//) print $12 | cut -d '/' -f 1}' temp.log | tee mmm.log,但总是awk: (FILENAME=temp.log FNR=11) fatal: division by zero attempted
,我是初学shell 求各位大神赐教,我积分不多,先在此谢谢了
展开
 我来答
百度网友5311d79
2014-08-26 · TA获得超过1.9万个赞
知道大有可为答主
回答量:6356
采纳率:71%
帮助的人:3222万
展开全部

bash里面可以这样:

a="12345/abcde"
echo "${a%/*}/" #去除/及其之后的全部内容,最后再补上/

用awk的话可以这样:

a="12345/abcde"
echo "$a" | awk -F/ '{print $1"/"}' #设置/为字段分隔符,打印第1个字段后再补上/

 

追问
我试了一下,貌似不行啊,能说的在明白一点吗?
追答

我这里试过都是可以的。如果不行,可能是环境不同导致。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式