当前位置:  技术问答>linux和unix

awk 替换--有什么语法

    来源: 互联网  发布时间:2017-04-04

    本文导语:  我有这个需求,需要截取一个字符串(表示一段路径)的一段,比如下面的这个字符串: /dir1/dir2/../dirN/good/better/best/dir_last1/dir_last2/... 我希望截取的结果是 /dir1/dir2/../dirN 其中N未知,也就是说我的源串是不固定的。但是...

我有这个需求,需要截取一个字符串(表示一段路径)的一段,比如下面的这个字符串:
/dir1/dir2/../dirN/good/better/best/dir_last1/dir_last2/...

我希望截取的结果是
/dir1/dir2/../dirN

其中N未知,也就是说我的源串是不固定的。但是其中一定有一个good/better/best子串,后面的还有不固定的路径。

本人之前没怎么用这个awk,研究了一下,实在搞不定。
我尝试写出来了一个半成品:

cat file | awk '{sub(//good/better/best/dir_last1/dir_last2/dir_last3/,""); print}'

这个能将固定子串及后面的固定路径一起去掉(如果能匹配)
问题是,固定子串后面的子串是未知,是可能变化的,所以这个不管用。
这个awk实在不熟。高手给指点一下吧,多谢了。

|
echo /dir1/dir2/../dirN/good/better/best/dir_last1/dir_last2/... | awk 'gsub(//good/better/best/.*/,"")'

|
楼上正解!!!

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • awk里可以嵌套awk吗?
  • 怎样让awk输出到中途退出awk?
  • 请问一下AWK怎么样在一行文本中的第14个字段的最后面加一个空格符呢,不知道AWK的写法该怎么写,在线求教,谢谢了!!!
  • 运行awk脚本文件碰到:-bash:student_tot.awk:command not found
  • 关于awk提取文本时的一个输出结果显示问题
  • awk能改变变量的值么?
  • 关于awk的一点问题
  • awk程序中使用shell的变量
  • 新手请教一段AWK代码,报错。
  • awk如何删除一个文件?
  • shell 以及 awk高手来帮我解决这个问题,谢谢
  • awk在shell script中
  • awk 匹配字符串
  • awk 引用的问题
  • awk参数中文件名是变量的情况
  • awk中如何带入变量
  • shell awk之后对某一列进行求和
  • AWK
  • awk中如何读取shell变量?
  • 用awk如何在当前目录下所有文件中搜索字符串


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,