批量替换文本

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
回复
头像
reverland
帖子: 1317
注册时间: 2011-11-26 15:57
系统: windows xp
联系:

批量替换文本

#1

帖子 reverland » 2013-03-20 16:32

如果我想让每个文件中
{% highlight python %}
前都有一个空行

然而我的原始文件中有的有有的没有

该怎么做到判断前面有无空行然后再决定是否添加一行?

我现在只会这个了……

sed -i '/{% highlight python %}/i \\t' ./*.md
托在github上的jekyll博客
Always Look on the Bright Side of Life
头像
Methuselar
帖子: 122
注册时间: 2009-06-04 12:06
联系:

Re: 批量替换文本

#2

帖子 Methuselar » 2013-03-20 17:19

土办法,找个变量存空行标志, 比如下面这个"z"

代码: 全选

awk '/^{% highlight python %}$/ && !z {print ""};1;{z=!length($0)}'
Mea Culpa!
头像
reverland
帖子: 1317
注册时间: 2011-11-26 15:57
系统: windows xp
联系:

Re: 批量替换文本

#3

帖子 reverland » 2013-03-22 11:54

Methuselar 写了:土办法,找个变量存空行标志, 比如下面这个"z"

代码: 全选

awk '/^{% highlight python %}$/ && !z {print ""};1;{z=!length($0)}'
谢谢,没用过awk,看样子得去看看了 :em11
托在github上的jekyll博客
Always Look on the Bright Side of Life
sanz
帖子: 1010
注册时间: 2006-09-29 5:11

Re: 批量替换文本

#4

帖子 sanz » 2013-03-22 19:33

Shell很多命令尤其文字处理的真心没有必要学,以前曾学过,什么mawk,sed的,后来感觉主要一个python就够了,简单啊!
Dell D620 -> Asus U44SG
Dapper->Edgy->Feisty->Gutsy->Hardy->Karmic->Lucid -> Oneric -> Precise->Trusty
Python+JS
头像
reverland
帖子: 1317
注册时间: 2011-11-26 15:57
系统: windows xp
联系:

Re: 批量替换文本

#5

帖子 reverland » 2013-03-23 12:18

sanz 写了:Shell很多命令尤其文字处理的真心没有必要学,以前曾学过,什么mawk,sed的,后来感觉主要一个python就够了,简单啊!
我昨天一想也是啊…… :em20 最近一大堆东西python一样做的到
托在github上的jekyll博客
Always Look on the Bright Side of Life
头像
noble_out
帖子: 150
注册时间: 2012-04-20 15:58
系统: ubuntu12.04+windows8
来自: 中华人民共和国
联系:

Re: 批量替换文本

#6

帖子 noble_out » 2013-03-23 12:38

sanz 写了:Shell很多命令尤其文字处理的真心没有必要学,以前曾学过,什么mawk,sed的,后来感觉主要一个python就够了,简单啊!
我正在学python,买了本python3的书,还没翻了几页。无私的高手些,求相关资料和笔记,我邮箱lhyaax@gmail.com
在此谢过!
头像
lainme
论坛版主
帖子: 7805
注册时间: 2008-09-13 19:17
系统: Arch Linux (x86_64)
联系:

Re: 批量替换文本

#7

帖子 lainme » 2013-03-23 15:49

noble_out 写了:
sanz 写了:Shell很多命令尤其文字处理的真心没有必要学,以前曾学过,什么mawk,sed的,后来感觉主要一个python就够了,简单啊!
我正在学python,买了本python3的书,还没翻了几页。无私的高手些,求相关资料和笔记,我邮箱lhyaax@gmail.com
在此谢过!
网上免费的书不是很多么。

http://swaroopch.com/notes/python/

http://www.diveintopython.net/

http://learnpythonthehardway.org/

http://wiki.python.org/moin/PythonBooks
头像
枫叶饭团
帖子: 14683
注册时间: 2010-06-16 1:05
系统: Mac OS X
来自: Tencent
联系:

Re: 批量替换文本

#8

帖子 枫叶饭团 » 2013-03-23 19:19

学python3没啥用,一到生产环境上都会瞎了,基本上都是py2.x
头像
ceclinux
帖子: 308
注册时间: 2013-01-17 2:42
系统: Ubuntu 12.04LTS

Re: 批量替换文本

#9

帖子 ceclinux » 2013-03-23 20:07

awk是神器啊 :em11
Ubuntu 12.04 LTS
laptop:Acer 4750G CPU:I5-2410
内存:2+2G 硬盘:500+750
http://www.ceclinux.org
lord007
帖子: 555
注册时间: 2009-07-13 21:54

Re: 批量替换文本

#10

帖子 lord007 » 2013-03-23 20:52

重量级不同吧,呵呵
南无阿弥陀佛
头像
reverland
帖子: 1317
注册时间: 2011-11-26 15:57
系统: windows xp
联系:

Re: 批量替换文本

#11

帖子 reverland » 2013-03-26 16:59

在stackoverflow上看的讨论,好像大致是这个意思:

sed/awk一般干简单的事
perl做到任何sed/awk做到的事,为扩展sed/awk而生(好像吧……)
python任何perl能做到的事……
托在github上的jekyll博客
Always Look on the Bright Side of Life
onlylove
论坛版主
帖子: 5214
注册时间: 2007-01-14 16:23

Re: 批量替换文本

#12

帖子 onlylove » 2013-03-26 17:03

枫叶饭团 写了:学python3没啥用,一到生产环境上都会瞎了,基本上都是py2.x
那你继续学神的语言吧
#include <stdio.h>
void main()
{
double world;
unsigned letter;
short stay;
long memories;
printf("I miss you.\n");
}
回复