sed巧妙获取软件包名字
来源:互联网 发布:mac eclipse 真机调试 编辑:程序博客网 时间:2024/05/19 04:04
package.txt文件中是一软件包的信息,我现在只想获取软件包的名字(即除去版本号和第一个数字前面的横杠-)
[root@localhost zhaoyj]# cat package.txt
python-0.3.1-1.1
gnome-bluetooth-2.30.0-2.4
libsmack-1.0
prel-1.1
package-groups-0.94-1.1
gnome-settings-daemon-2.30.2-2.3
这是sed的一惯用法:将行进行分段,第一段是软件包名字【绿色】,第二段是版本信息【紫色】
红色 部分\1表示用第一段替换掉第一段和第二段即只保留第一段
黄色部分g表示全局替换【global】
由于小括号在shell里面有特殊含义,如果只是表示括号的话需要用反斜杠进行注释,或者使用-r选项,可以让sed支持extend regular expresssion
[root@localhost zhaoyj]# sed -e 's/\(.*[a-Z]\)\(-[0-9].*[0-9]\)/\1/g' package.txt
pythongnome-bluetooth
libsmack
prel
package-groups
gnome-settings-daemon
现在体会到高级shell的强大了吧,不过需要承认的是也有不适合用shell的时候,使用perl可能会更简单
- sed巧妙获取软件包名字
- linux 软件包 名字
- 巧妙获取数据库连接字符串
- Centos获取软件包
- 获取软件包信息
- 巧妙设置yum软件库轻松解决软件包…
- 巧妙获取结构体大小
- 获取app的名字
- getfilename 获取文件名字
- 获取类的名字
- android--获取控件名字
- python 获取exception 名字
- iOS获取wifi名字
- 获取LaunchImage图片名字
- 获取 image 的名字
- android 获取进程名字
- 获取硬盘名字
- 获取项目名字
- [信息图表]手机进化简史
- lucene.net开发教程与总结(一)
- 用Lucene.net对数据库建立索引及搜索 (2)
- 推迟满足感
- FilenameFilter
- sed巧妙获取软件包名字
- Drupal 资源
- 类设计者的核查表
- android控件14 Spinner
- 任务管理模块 quartz + spring
- 关于职业规划,尤其值得我们程序员学习、思考
- Google plus
- cp命令强制覆盖方式实现
- 我的学习记录