linux中添加一行,linux – sed:在某个位置插入一行

所以首先,我们有一个包含以下行的文件,名为datafile.txt

1 some test lines here

but not all lines contain nubers

3 and here is the last one

我们有一个bash变量$ADDED与要添加的行内容

ADDED="==This is the new line=="

所以,在第一行之后添加一行

ADDED="==This is the new line=="

< datafile.txt sed "1a \\

$ADDED

"

结果:

1 some test lines here

==This is the new line==

but not all lines contain nubers

3 and here is the last line

在所有行之后添加行以数字开头

< datafile.txt sed "/^[0-9]/a \\

$ADDED

"

结果:

1 some test lines here

==This is the new line==

but not all lines contain nubers

3 and here is the last line

==This is the new line==

添加行到开头,所以在第一行之前插入

< datafile.txt sed "1i \\

$ADDED

"

结果

==This is the new line==

1 some test lines here

but not all lines contain nubers

3 and here is the last line

您可以“替换”该行的末尾以添加新的行

< datafile.txt sed "/all/s/$/\\

$ADDED/"

上面的例子在行之后添加了包含单词“all”的行代替

1 some test lines here

but not all lines contain nubers

==This is the new line==

3 and here is the last line

你甚至可以分割线并在它们之间添加

< datafile.txt sed "/all/s/\(.*lines \)\(.*\)/\1\\

$ADDED\\

\2/"

上面将搜索包含单词“all”的行,并在单词“lines”之后将其拆分.结果:

1 some test lines here

but not all lines

==This is the new line==

contain nubers

3 and here is the last line

最后一件事.用regural表达式解析HTML是不可能的,请查看sputnik评论中的链接.

但是,这并不意味着不可能匹配HTML文件的某些部分.如果你知道你想要匹配(而不是解析) – 你也可以安全地使用HTML的正则表达式.简单地说,这里的许多人都不知道解析和匹配之间的区别.

因此,如果您的html文件具有众所周知的结构,例如你确定你的html一直都是上面的结构,你可以放心地写:

/a \\new Row:1 Cell:1Row:1 Cell:2Row:1 Cell:3Row:1 Cell:4

"

你会得到的

HEADER1 HEADER2 HEADER3 HEADER4
new Row:1 Cell:1 Row:1 Cell:2 Row:1 Cell:3 Row:1 Cell:4
Row:1 Cell:1 Row:1 Cell:2 Row:1 Cell:3 Row:1 Cell:4

仅仅因为我们没有对html代码进行分配,我们只是匹配一些线条模式..

你可能感兴趣的:(linux中添加一行)