如何\n使用sed命令替换换行符()?
我没试成功:
sed 's#\n# #g' file
sed 's#^$# #g' file
Run Code Online (Sandbox Code Playgroud)
我如何解决它?
如何找到并替换每次出现的事件:
subdomainA.example.com
Run Code Online (Sandbox Code Playgroud)
同
subdomainB.example.com
Run Code Online (Sandbox Code Playgroud)
在/home/www/目录树下的每个文本文件递归?
我想通过命令行在HTML文件上运行查找和替换.
我的命令看起来像这样:
sed -e s/STRING_TO_REPLACE/STRING_TO_REPLACE_IT/g index.html > index.html
Run Code Online (Sandbox Code Playgroud)
当我运行它并在之后查看该文件时,它是空的.它删除了我的文件的内容.
当我再次恢复文件后运行它:
sed -e s/STRING_TO_REPLACE/STRING_TO_REPLACE_IT/g index.html
Run Code Online (Sandbox Code Playgroud)
这stdout是文件的内容,并且已执行查找和替换.
为什么会这样?
这样做是否有"规范"方式?我一直在使用head -n | tail -1哪种技巧,但我一直想知道是否有一个Bash工具专门从文件中提取一行(或一系列行).
"规范"是指一个程序,其主要功能就是这样做.
我需要使用bash脚本从一个巨大的文本文件中重复删除第一行.
现在我正在使用sed -i -e "1d" $FILE- 但删除大约需要一分钟.
有没有更有效的方法来实现这一目标?
我有一个~23000行的SQL转储包含几个数据库的数据.我需要提取此文件的某个部分(即单个数据库的数据)并将其放在一个新文件中.我知道我想要的数据的起始行和结束行号.
有没有人知道一个Unix命令(或一系列命令)从第16224和16482行之间的文件中提取所有行,然后将它们重定向到一个新文件?
我正在尝试使用sed清理URL行以仅提取域名..
所以来自:
http://www.suepearson.co.uk/product/174/71/3816/
Run Code Online (Sandbox Code Playgroud)
我想要:
(有或没有火车斜线,没关系)
我试过了:
sed 's|\(http:\/\/.*?\/\).*|\1|'
Run Code Online (Sandbox Code Playgroud)
和(逃避非贪婪量词)
sed 's|\(http:\/\/.*\?\/\).*|\1|'
Run Code Online (Sandbox Code Playgroud)
但我似乎无法使非贪婪量词工作,所以它总是最终匹配整个字符串.
我试图使用sed删除空行:
sed '/^$/d'
Run Code Online (Sandbox Code Playgroud)
但我没有运气.
例如,我有这些行:
xxxxxx
yyyyyy
zzzzzz
Run Code Online (Sandbox Code Playgroud)
我希望它像:
xxxxxx
yyyyyy
zzzzzz
Run Code Online (Sandbox Code Playgroud)
应该是什么代码?
sed ×10
unix ×4
awk ×3
bash ×3
shell ×3
command-line ×1
greedy ×1
in-place ×1
linux ×1
pcre ×1
regex ×1
regex-greedy ×1
replace ×1
scripting ×1
text-parsing ×1