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

一个shell的小疑惑

    来源: 互联网  发布时间:2016-12-21

    本文导语:  find "somedir" -type l -print0|xargs -r0 file|grep "broken symbolic"|sed -e 's/^|: *broken symbolic.*$/"/g' 在此处 ”xargs -r0 file“ 做何解释? “'s/^|: *broken symbolic.*$/" ”----如何理解?? | xargs 参数-0 说明传入...

find "somedir" -type l -print0|xargs -r0 file|grep "broken symbolic"|sed -e 's/^|: *broken symbolic.*$/"/g'

在此处 ”xargs -r0 file“ 做何解释?
“'s/^|: *broken symbolic.*$/" ”----如何理解??

|

xargs 参数-0 说明传入字符串以null字符结尾, 空格, 引号 反斜扛不做特殊处理.  并传给file命令

后面那个sed是替换

|
sed -e 's/^|: *broken symbolic.*$/"/g' 
^从记录开头匹配  字符|: ( *)空格 *标识0个或者多个 字符broken symbolic
.*:.标识1个字符  .*标识所有字符  $记录尾  .*$标识匹配到记录尾所有字符  替换成"

这条应该不行吧,^标识从字符串开头匹配,而你现在这句要替换的并不在开头

#cat csdn_test
/usr/share/omf/gnome-bluetooth/gnome-bluetooth-ru.omf:broken symbolic link to `/usr/share/omf-langpack/gnome-bluetooth/gnome-bluetooth-ru.omf'
/usr/share/omf/gnome-bluetooth/gnome-bluetooth-ru.omf: broken symbolic link to `/usr/share/omf-langpack/gnome-bluetooth/gnome-bluetooth-ru.omf'
/usr/share/omf/gnome-bluetooth/gnome-bluetooth-ru.omf:    broken symbolic link to `/usr/share/omf-langpack/gnome-bluetooth/gnome-bluetooth-ru.omf'
:broken symbolic link to `/usr/share/omf-langpack/gnome-bluetooth/gnome-bluetooth-ru.omf'
:    broken symbolic link to `/usr/share/omf-langpack/gnome-bluetooth/gnome-bluetooth-ru.omf'

执行:
开头匹配,只替换后面的两条记录
#sed -e 's/^: *broken symbolic.*$/"/g' csdn_test
/usr/share/omf/gnome-bluetooth/gnome-bluetooth-ru.omf:broken symbolic link to `/usr/share/omf-langpack/gnome-bluetooth/gnome-bluetooth-ru.omf'
/usr/share/omf/gnome-bluetooth/gnome-bluetooth-ru.omf: broken symbolic link to `/usr/share/omf-langpack/gnome-bluetooth/gnome-bluetooth-ru.omf'
/usr/share/omf/gnome-bluetooth/gnome-bluetooth-ru.omf:    broken symbolic link to `/usr/share/omf-langpack/gnome-bluetooth/gnome-bluetooth-ru.omf'
"
"

非开头匹配,替换所有记录
#sed -e 's/: *broken symbolic.*$/"/g' csdn_test
/usr/share/omf/gnome-bluetooth/gnome-bluetooth-ru.omf"
/usr/share/omf/gnome-bluetooth/gnome-bluetooth-ru.omf"
/usr/share/omf/gnome-bluetooth/gnome-bluetooth-ru.omf"
"
"

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












  • 相关文章推荐
  • Centos6下安装Shell下文件上传下载rz,sz命令
  • 不同类型的shell*(K SHELL , C SHELL) 用命令怎么切换?
  • linux bash shell命令:grep文本搜索工具简介
  • 移动开发 iis7站长之家
  • Linux下指定运行时加载动态库路径及shell下执行程序默认路径
  • 菜鸟问问题:shell是什么呢?普通的ls、cp、pwd这些命令算不算shell呢?如何把自己写的文件变成shell呢?
  • linux bash shell命令:文本搜索工具grep中用于egrep和 grep -E的元字符扩展集
  • 傻瓜问题,请问shell编程和shell脚本编程的关系
  • linux bash shell命令:文本搜索工具Grep命令选项及实例
  • shell变量和子shell的问题请教
  • linux bash shell命令:文本搜索工具grep正则表达式元字符集(基本集)
  • 请问“当前shell”和“子shell”的区别?
  • 怎么知道当前是B_SHELL 还是C_SHELL
  • 用户登陆后运行某SHELL退出SHELL就回到LOGIN是怎么作到的?
  • 怎么写shell代码 写好shell怎么运行?
  • 请问一个shell中如何获取这个shell自身抛出的错误?
  • 非登录shell是什么 意思,和登录shell有什么区别啊
  • Solaris 8中修改root的shell为一个非法的Shell后怎么办?
  • 各位Shell高人,如何取得Shell的第10个入口参数?$10不行啊,急!
  • shell 编程 执行shell新建多个终端 并执行程序
  • 如何在一台机器上的shell中执行另外一台机器上的shell


  • 站内导航:


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

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3