我想在文件中的每一行的开头插入一个单词后跟一个制表符(就地插入),但是从第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)
但是,上面是删除整个文件数据.
提前致谢.
我想通过shell脚本从整个地址打印名称.所以user1@12.12.23.234应该给出输出"user1",类似地11234@12.123.12.23应该给出输出11234
我只是环顾四周,但我找不到任何适合我的东西.我想在其他行的顶部插入一个新行(基本上是一个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下面?
谢谢!
如何在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) 我有这个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)
?
我想从文件中提取特定行(比如第2行和第4行到第6行),并将它们重定向到命令行中的文件/将其传递给另一个程序.
哪个工具可以最快/最干净(sed,awk,perl,shell)?
我有一个.CSV文件,文件中有大约15个字段,我需要将日期列(文件中的第一个字段)从dd/mm/yyyy转换为yyyy/mm/dd.请指教...
对于我的网站,我记录了用户访问过的页面.
它看起来像这样:
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)
我也想删除重复项.
谢谢!
我正在尝试理解行代码.
这是什么意思?
grep "^1 " file0 | grep -v MODEL | sed 's/./&E/86' | sed 's/./& /8' | sed 's/./& /20' > file1
Run Code Online (Sandbox Code Playgroud) 我有一个像这样的电子邮件列表:
aaa@you1.com
abc@you3.com
def@you4.com
Run Code Online (Sandbox Code Playgroud)
我需要删除@符号前面的所有字符.有没有一种方法用Sed做到这一点?