仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 466|回复: 10
打印 上一主题 下一主题

[其他Linux] Linux编程:sed 简明教程仓酷云

[复制链接]
蒙在股里 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:22:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
要多动手,不要怕什么搞坏了怎么办,你不搞坏,不去动手,就永远不会有收获,既然你在linux中是自由的,那就发挥自己的权利;
awk于1977年出身,往年36岁本命年,sed比awk年夜2-3岁,awk就像林mm,sed就是宝玉哥哥了。以是林mm跳了个Topless,他的哥哥sed坐不住了,也必定要出来抖一抖。
sed全名叫streameditor,流编纂器,用程序的体例来编纂文本,相称的hacker啊。sed基础上就是玩正则形式婚配,以是,玩sed的人,正则表达式一样平常都对照强。
一样,本篇文章不会说sed的全体工具,你能够参看sed的手册,我这里次要仍是想和人人合作一下那些从手机指缝间或马桶里流走的工夫,用这些工夫来进修一些工具。固然,接上去的仍是要靠人人本人双手。
用s命令交换

我利用上面的这段文本做演示:
1
2
3
4
5
6
7
8
9
$catpets.txt
Thisismycat
mycatsnameisbetty
Thisismydog
mydogsnameisfrank
Thisismyfish
myfishsnameisgeorge
Thisismygoat
mygoatsnameisadam

把个中的my字符串交换成HaoChen’s,上面的语句应当很好了解(s暗示交换命令,/my/暗示婚配my,/HaoChen’s/暗示把婚配交换成HaoChen’s,/g暗示一行上的交换一切的婚配):
1
2
3
4
5
6
7
8
9
$sed"s/my/HaoChens/g"pets.txt
ThisisHaoChenscat
HaoChenscatsnameisbetty
ThisisHaoChensdog
HaoChensdogsnameisfrank
ThisisHaoChensfish
HaoChensfishsnameisgeorge
ThisisHaoChensgoat
HaoChensgoatsnameisadam

注重:假如你要利用单引号,那末你没举措经由过程’如许来本义,就有双引号就能够了,在双引号内能够用”来本义。
再注重:下面的sed并没有对文件的内容改动,只是把处置事后的内容输入,假如你要写回文件,你可使用重定向,如:
1
$sed"s/my/HaoChens/g"pets.txt>hao_pets.txt

或利用-i参数间接修正文件内容:
1
$sed-i"s/my/HaoChens/g"pets.txt

在每行最后面加点工具:
1
2
3
4
5
6
7
8
9
$seds/^/#/gpets.txt
#Thisismycat
#mycatsnameisbetty
#Thisismydog
#mydogsnameisfrank
#Thisismyfish
#myfishsnameisgeorge
#Thisismygoat
#mygoatsnameisadam

在每行最初面加点工具:
<p>1
2
3
4
5
6
7
8
9
$seds/$/---/gpets.txt
Thisismycat---
mycatsnameisbetty---
Thisismydog---
mydogsnameisfrank---
Thisismyfish---
<p>
分手快乐 该用户已被删除
沙发
发表于 2015-1-23 18:43:41 | 只看该作者
另外Linux上也有很多的应用软件,安装运行了这些软件后,你就可以在Linux上编辑文档、图?片,玩游戏、上网、播放多媒体文件等。
莫相离 该用户已被删除
板凳
发表于 2015-1-31 19:13:21 | 只看该作者
得到到草率的回答或者根本得不到任何Linux答案。越表现出在寻求帮助前为解决问题付出的努力,你越能得到实质性的帮助。
因胸联盟 该用户已被删除
地板
发表于 2015-2-6 21:14:15 | 只看该作者
随着实验课程的结束,理论课也该结束了,说实话教OS的这两位老师是我们遇到过的不错的老师(这话放这可能不太恰当).
小女巫 该用户已被删除
5#
发表于 2015-2-12 15:53:05 | 只看该作者
请问谁有Linux的学习心得的吗?简单的说说?
兰色精灵 该用户已被删除
6#
发表于 2015-2-26 10:05:37 | 只看该作者
再次,Linux是用C语言编写的,我们有学习C语言的基础,读程序和编写代码方面存在的困难小一点,也是我们能较快掌握的原因之一。?
深爱那片海 该用户已被删除
7#
发表于 2015-3-8 13:23:21 | 只看该作者
老实说,第一个程序是在C中编译好的,调试好了才在Linux下运行,感觉用vi比较麻烦,因为有错了不能调试,只是提示错误。
第二个灵魂 该用户已被删除
8#
发表于 2015-3-11 09:51:30 | 只看该作者
以前觉得Linux就跟dos一样,全是用命令窗口,相对于窗口界面来说多麻烦呀。
活着的死人 该用户已被删除
9#
发表于 2015-3-12 17:32:56 | 只看该作者
Linux只是个内核!这点很重要,你必须理解这一点。只有一个内核是不能构成一个操作系统的。
海妖 该用户已被删除
10#
发表于 2015-3-13 09:08:54 | 只看该作者
对Linux命令熟悉后,你可以开始搭建一个小的Linux网络,这是最好的实践方法。Linux是网络的代名词,Linux网络服务功能非常强大,不论是邮件服务器、Web服务器、DNS服务器等都非常完善。
灵魂腐蚀 该用户已被删除
11#
发表于 2015-3-20 17:45:27 | 只看该作者
熟读写基础知识,学得会不如学得牢。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-9-23 19:22

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表