Questions tagged «sed»

Sed(Stream EDitor)是POSIX环境的命令行编辑器。Sed根据编辑脚本处理一个或多个文件,并将结果写入标准输出。它是由贝尔实验室(Bell Labs)创建的,自70年代中期以来一直存在。




13
在文件中查找和替换,覆盖文件不起作用,它清空了文件
我想通过命令行在HTML文件上运行查找和替换。 我的命令如下所示: sed -e s/STRING_TO_REPLACE/STRING_TO_REPLACE_IT/g index.html > index.html 当我运行此文件并随后查看文件时,它为空。它删除了我文件的内容。 当我再次还原文件后运行此命令时: sed -e s/STRING_TO_REPLACE/STRING_TO_REPLACE_IT/g index.html 的stdout是该文件的内容,查找和替换已经被执行。 为什么会这样呢?

19
Bash工具从文件获取第n行
有没有一种“规范”的方式来做到这一点?我一直在使用head -n | tail -1哪种方法可以解决问题,但是我一直想知道是否有一个Bash工具专门从文件中提取一行(或一系列行)。 “规范”是指主要功能是执行此操作的程序。
603 bash  shell  unix  awk  sed 


22
如何从Unix上的文本文件中提取预定范围的行?
我有一个〜23000行的SQL转储,其中包含多个数据库数据。我需要提取此文件的某个部分(即单个数据库的数据)并将其放置在新文件中。我知道我想要的数据的开始和结束行号。 有谁知道Unix命令(或一系列命令)从文件中提取16224和16482行之间的所有行,然后将它们重定向到新文件中?

3
sed和awk有什么区别?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 6年前关闭。 awk和sed有什么区别? sed和awk工具的最佳用例是哪种应用程序?
497 sed  awk 

21
sed中的非贪婪(勉强)正则表达式匹配?
我正在尝试使用sed清理URL的行以仅提取域。 来自: http://www.suepearson.co.uk/product/174/71/3816/ 我想要: http://www.suepearson.co.uk/ (无论是否带有斜杠,都没有关系) 我努力了: sed 's|\(http:\/\/.*?\/\).*|\1|' 和(转义非贪婪量词) sed 's|\(http:\/\/.*\?\/\).*|\1|' 但我似乎无法使非贪婪量词(?)正常工作,因此最终总是匹配整个字符串。
406 regex  sed  pcre  greedy  regex-greedy 

13
使用sed删除空行
我正在尝试使用sed删除空行: sed '/^$/d' 但我没有运气。 例如,我有以下几行: xxxxxx yyyyyy zzzzzz 我希望它像: xxxxxx yyyyyy zzzzzz 这应该是什么代码?
349 linux  unix  sed 

12
使用Sed替换包含字符串的整行
我有一个文本文件,其中有一个特定的行,例如 sometext sometext sometext TEXT_TO_BE_REPLACED sometext sometext sometext 我需要将上面的整行替换为 This line is removed by the admin. 搜索关键字是 TEXT_TO_BE_REPLACED 我需要为此编写一个shell脚本。我该如何使用sed呢?
319 string  shell  sed 

14
转义sed替换模式的字符串
在我的bash脚本中,我有一个外部(从用户那里收到的)字符串,我应该在sed模式中使用它。 REPLACE="<funny characters here>" sed "s/KEYWORD/$REPLACE/g" 我如何转义$REPLACE字符串,以便将其安全地接受sed为文字替换? 注:本KEYWORD是一个愚蠢的字符串没有匹配等,这是不是由用户提供。
317 string  sed  escaping 

11
带有-i选项的sed命令在Mac上失败,但在Linux上有效
我已成功使用以下sed命令在Linux中搜索/替换文本: sed -i 's/old_link/new_link/g' * 但是,当我在Mac OS X上尝试时,得到: “命令c期望\后跟文本” 我以为Mac运行的是普通的BASH shell。这是怎么回事? 编辑: 根据@High Performance,这是由于Mac sed具有不同的(BSD)风格,因此我的问题将是如何在BSD中复制此命令sed? 编辑: 这是导致此情况的一个实际示例: sed -i 's/hello/gbye/g' *
303 linux  macos  bash  sed 

13
sed编辑文件到位
我试图找出是否有可能在单个sed命令中编辑文件,而无需手动将编辑后的内容流式传输到新文件中,然后将新文件重命名为原始文件名。我尝试了该-i选项,但是我的Solaris系统说这-i是非法的选项。有其他方法吗?
298 unix  sed  solaris 


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.