Questions tagged «sed»

sed是用于过滤和转换文本的命令行流编辑器。

3
我可以使用`sed`来翻译`tr`这样的字符吗?
我想用另一组中的相应字符替换一组字符,如下所示: original set: ots "target" set: u.x foobartest → fuubar.ex. 这样的翻译/音译是tr命令的特长: $ echo 'foobartest' | tr 'ots' 'u.x' fuubar.ex. 不幸的是,tr它不支持就地更改文件sed。 我想使用它,sed所以我不必重新发明处理临时文件的方式。
14 sed  tr 


4
将每行的一部分输出到单独的文件中
我有一个像这样的文件: a AGTACTTCCAGGAACGGTGCACTCTCC b ATGGATTTTTGGAGCAGGGAGATGGAATAGGAGCATGCTCCAT c ATATTAAATGGATTTTTGGAGCAGGGAGATGGAATAGGAGCATGCTCCATCCACTCCACAC d ATCAGTTTAATATCTGATACGTCCTCTATCCGAGGACAATATATTAAATGGA e TTTGGCTAAGATCAAGTGTAGTATCTGTTCTTATAAGTTTAATATCTGATATGTCCTCTATCTGA 我想制作a.seq包含sequence的文件AGTACTTCCAGGAACGGTGCACTCTCC。同样b.seq包含ATGGATTTTTGGAGCAGGGAGATGGAATAGGAGCATGCTCCAT。简而言之,应将Column1用作扩展名的输出文件名,.seq然后在其中具有相应的column2序列。我可以通过编写一个Perl脚本来做到这一点,但是命令行上的任何操作都会有所帮助。希望尽快听到。

7
如何从文件中删除多个空白行?
我有一些用于记笔记的文本文件-纯文本,通常仅使用cat >> file。有时我使用一两行空白(仅返回-换行符)来指定新的主题/思路。在每个会话结束时,在用Ctrl+ 关闭文件之前D,我通常添加很多(5-10)空行(返回键)以分隔会话。 这显然不是很聪明,但是它对我有用。我做不过最终了很多很多不必要的空行,所以我在寻找一种方式来删除(大部分)的额外线。是否有Linux命令(剪切,粘贴,grep,...?)可以直接与几个选项一起使用?或者,是否有人对sed,awk或perl(可以在任何脚本语言中使用,尽管我更喜欢sed或awk)的脚本都能满足我的需求?用C ++编写某些东西(我实际上可以自己做),似乎有点过头了。 情况1:我需要的是一个脚本/命令,该脚本/命令将删除多于两个(3个或更多)连续的空行,并将其替换为仅两个空行。尽管也可以对其进行调整以删除多于一行(两行或更多)和/或仅用一个空白行替换多个空白行,这是很好的。 情况2:我还可以使用脚本/命令来删除两行文本之间的单个空白行,但照原样保留多个空白行(尽管删除其中一个空白行也是可以接受的)。
14 scripting  sed  awk  perl  filter 


3
如何在sed或awk流中添加页眉和/或页脚?
我有一堆输出通过sed和awk。 如何在输出前加上START前缀并在END后加上答案? 例如,如果我有 All this code on all these lines and all these 我如何获得: START All this code on all these lines and all these END ? 我的尝试是: awk '{print "START";print;print "END"}' 但是我得到了 ... START All this code END START on all these lines END START and all these END

9
如何删除文件中每行的第5个字?
我想删除文件中每行的第5个字。 文件的当前内容: File is not updated or and will be removed System will shut down f within 10 seconds Please save your work 55 or copy to other location Kindly cooperate with us D 预期产量: File is not updated and will be removed System will shut down within 10 seconds …

4
如何使用sed操纵连续流输出?
我正在为非技术性观众准备一个演讲。我有一个在bash中运行的程序,该程序输出连续的值流,其中一些很重要。我想突出显示重要结果,以便观众了解他们的频率。问题是我无法sed在正在运行的流上进行操作。如果将结果放入文件中,效果很好,如下所示: cat output.txt | sed "s/some text/some text bolded/" 但是,如果我在运行的输出上尝试相同的操作,如下所示: command | sed "s/some text/some text bolded/" sed什么也没做。有什么想法吗? 正如兰伯特(Lambert)很有帮助地指出的那样,我的说法sed是无所适从。发生的事情是,即使程序通过管道输出,程序也会照常输出到stdout(我很确定它没有写到stderr)sed。 问题似乎是该命令调用了第二个程序,然后将其输出到stdout。第一个程序打印了几行;这些我可以编辑。然后有第二个程序打印的值流;这些我无法编​​辑。 Perl和awk方法也不起作用。

2
在运行之前测试递归sed搜索并替换
sed在实际运行之前,有什么方法可以运行试验性递归搜索并使用来替换?我只想在实际进行搜索和替换之前打印出结果。像是回荡结果, grep -rl term1 . |xargs sed -i -e 's/term1/term2/'
13 sed 

2
如何用sed包含斜杠的字符串替换字符串?
我正在寻找一种使用sed将文件中的字符串替换为包含斜杠的字符串的方法。 connect="192.168.100.61/foo" srcText="foo.bar=XPLACEHOLDERX" echo $srcText | sed "s/XPLACEHOLDERX/$connect" 结果是: sed: -e Expression #1, Character 32: Unknown option for `s'
13 sed 


3
在(和排除)两个模式之间打印行
我将使用cURL提交表单,其中某些内容来自其他文件,使用 sed 如果使用param1来匹配其他文件的行匹配模式sed,则以下命令可以正常运行: curl -d param1="$(sed -n '/matchpattern/p' file.txt)" -d param2=value2 http://example.com/submit 现在,解决问题。我只想显示2个匹配模式之间的文本(不包括匹配模式本身)。 可以说file.txt包含: Bla bla bla firstmatch It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. secondmatch The point of using Lorem Ipsum is …


2
使用sed替换特殊字符
这可以在文件中替换tom为sam: sed 's/tom/sam/g' file_1 > file_2 但这不是: sed 's/*****/sam/g' file_1 > file_2 *****用单词代替特殊字符sam。我已经尝试了一个斜杠,\*但错误。
13 sed 

8
awk或sed仅小写/大写字符串中的一个字符?
有没有办法如何在一个字符串中仅大写/小写一个字符? 输入示例: syslog_apr_24_30 syslog_mar_01_17 所需的输出: syslog_Apr_24_30 syslog_Mar_01_17 请注意本月初的大写字母。 我已经尝试过,awk但是我还不足以使其正常运行。
13 bash  sed  awk 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.