标签: sed

在每行的开头插入文本,从2到结尾 - 5

我想在文件中的每一行的开头插入一个单词后跟一个制表符(就地插入),但是从第2行到所有行但最后5行.

因此,如果一个文件有10行,我想从第2行插入到第5行 - 我希望在这种情况下保持第1行和第6-10行完好无损.

该文件可以有数百万行(目前高达1000万)

sed -i "s/^/word\t/" filename 
Run Code Online (Sandbox Code Playgroud)

以上工作,但我想插入第一行和最后5行.同样给出一个行范围,计算行数将是另一个操作.由于行号可以变化,因此这种额外的操作可能成为开销.寻找有效的解决方案.这是我到目前为止所尝试的:

COUNT=$((`wc -l test_csnap_delta.csv | cut -d ' ' -f 1` - 5))
sed -n -i '2,$COUNT s/^/word\t/' 
Run Code Online (Sandbox Code Playgroud)

但是,上面是删除整个文件数据.

提前致谢.

bash awk sed

-1
推荐指数
1
解决办法
1334
查看次数

如何使用shell脚本或sed从user1@10.129.12.121打印user1

我想通过shell脚本从整个地址打印名称.所以user1@12.12.23.234应该给出输出"user1",类似地11234@12.123.12.23应该给出输出11234

bash shell scripting awk sed

-1
推荐指数
1
解决办法
100
查看次数

sed:在某个位置插入一条线

我只是环顾四周,但我找不到任何适合我的东西.我想在其他行的顶部插入一个新行(基本上是一个html表行).

<table id="tfhover" class="tftable" border="1">
<tr><th>HEADER1</th><th>HEADER2</th><th>HEADER3</th><th>HEADER4</th></tr>
<tr><td>Row:1 Cell:1</td><td>Row:1 Cell:2</td><td>Row:1 Cell:3</td><td>Row:1 Cell:4</td></tr>
</table>
Run Code Online (Sandbox Code Playgroud)

那么,是否有人可以建议我插入一个新的sed cmd:

<tr><td>Row:1 Cell:1</td><td>Row:1 Cell:2</td><td>Row:1 Cell:3</td><td>Row:1 Cell:4</td>
Run Code Online (Sandbox Code Playgroud)

在HEADERS下面?

谢谢!

linux bash sed

-1
推荐指数
1
解决办法
6239
查看次数

如何使用sed在2个模式之间打印线条

如何在pattern1和pattern2之间打印线条,我不需要pattern1和pattern3之间的线条.

请以sed,awk建议解决方案.

我有这样的情况.

pattern1
blah blah blah
blah blah blah
blah blah blah
pattern2
pattern1
blah blah blah
blah blah blah
pattern3
pattern1
blah blah blah
blah blah blah
pattern2
pattern1
blah blah blah 
blah blah blah
pattern3
Run Code Online (Sandbox Code Playgroud)

欲望输出:

pattern1
blah blah blah
blah blah blah
blah blah blah
pattern2
pattern1
blah blah blah
blah blah blah
pattern2
Run Code Online (Sandbox Code Playgroud)

awk sed

-1
推荐指数
1
解决办法
1456
查看次数

如何使用"grep"输出的文件名作为另一个程序的参数

我有这个grep命令输出文件的名称(包含与某些模式的匹配),我想用一些文件解析程序解析这些文件.pipechain看起来像这样:

grep -rl "{some-pattern}" . | {some-file-parsing-program} > a.out
Run Code Online (Sandbox Code Playgroud)

如何将这些文件名作为文件解析程序的命令行参数?

例如,假设grep收益的文件名a,b,c.如何传递文件名,以便它就像我正在执行一样

{some-file-parsing-program} a b c > a.out
Run Code Online (Sandbox Code Playgroud)

linux perl awk grep sed

-1
推荐指数
1
解决办法
1810
查看次数

在Unix中获取特定的文件行

我想从文件中提取特定行(比如第2行和第4行到第6行),并将它们重定向到命令行中的文件/将其传递给另一个程序.

哪个工具可以最快/最干净(sed,awk,perl,shell)?

unix shell perl awk sed

-1
推荐指数
1
解决办法
317
查看次数

如何在.CSV文件中将日期列从dd/mm/yyyy转换为yyyy/mm/dd

我有一个.CSV文件,文件中有大约15个字段,我需要将日期列(文件中的第一个字段)从dd/mm/yyyy转换为yyyy/mm/dd.请指教...

linux csv awk date sed

-1
推荐指数
1
解决办法
2370
查看次数

Bash Grepping和删除重复项

对于我的网站,我记录了用户访问过的页面.

它看起来像这样:

    admin viewed: page.php
    cata viewed: login.php
    noMadz viewed: buy.php
    floringg0d viewed: search.php
    noMadz viewed: trial.php
Run Code Online (Sandbox Code Playgroud)

我怎样才能使用grep命令将用户列表看起来像这样:

    admin
    cata
    noMadz
    floringg0d
Run Code Online (Sandbox Code Playgroud)

我也想删除重复项.

谢谢!

bash awk grep sed

-1
推荐指数
1
解决办法
274
查看次数

Sed和人物

我正在尝试理解行代码.

这是什么意思?

   grep "^1  " file0 | grep -v MODEL | sed 's/./&E/86' | sed 's/./&  /8' | sed 's/./&  /20' > file1
Run Code Online (Sandbox Code Playgroud)

shell grep sed

-1
推荐指数
2
解决办法
380
查看次数

删除一行的第一部分,直到找到字符@

我有一个像这样的电子邮件列表:

aaa@you1.com
abc@you3.com
def@you4.com
Run Code Online (Sandbox Code Playgroud)

我需要删除@符号前面的所有字符.有没有一种方法用Sed做到这一点?

linux bash shell sed

-1
推荐指数
2
解决办法
90
查看次数

标签 统计

sed ×10

awk ×7

bash ×5

linux ×4

shell ×4

grep ×3

perl ×2

csv ×1

date ×1

scripting ×1

unix ×1