如何使用sed用空行替换只有#的行?
我试图在谷歌上找到,但我什么也没有得到。
文件内容:
#test
another test
#
another test2
预期结果:
#test
another test
another test2
因此,在预期的结果下,在另一次测试之后,行应该是空白的,而不是#。
任何帮助都是非常感谢的。
我在shell脚本中使用sed来编辑文件系统路径名。假设我想要替换
/foo/bar
使用
/baz/qux
但是,sed的s///命令使用正斜杠/作为分隔符。如果这样做,我会看到一条错误消息,如下所示:
▶ sed 's//foo/bar//baz/qux//' FILE
sed: 1: "s//foo/bar//baz/qux//": bad flag in substitute command: 'b'
类似地,有时我想选择行范围,比如pattern foo/bar和baz/qux之间的行。再说一次,我不能这样做:
▶ sed '/
我想在以句点结尾的线下面添加一条黑线。我有sed '/ REGEX goes here/G',我不确定如何替换正则表达式,除了一个句点作为要查找的表达式。
我想在每个句子下面添加一个空行,下面是我想要使用sed shell脚本的一些文本的示例。
Line one.
The second line.
The third.
This is line four.
five.
This is the sixth sentence.
This is line seven.
Eighth and last.
我有这个:
Issue #12345: some more text here https://some.domain/some/path
我想找到12345位(这是动态的,所以需要通过正则表达式),然后将它添加到同一行的末尾。就像这样:
Issue #12345: some more text here https://some.domain/some/path/12345
如何使用sed/awk实现这一目标?
PS:我已经看过了,但是唯一类似的问题是:将字符串的一部分替换为同一字符串的另一部分 ...but它缺少正则表达式。
这里是一个我正在试图找出的正则表达式的例子。我们的目标是去掉额外的空间,并通过sed在单词之间只留下一个空格。给出的样本在sdf和sdk之间有三个空格。
test@ubuntu:~/addr_book_script$ echo "est sdf sdk" | sed 's/ */ /g'
est sdf sdk
test@ubuntu:~/addr_book_script$ echo "est sdf sdk" | sed 's/ */ /g'
e s t s d f s d k
您将注意到,两个sed语句仅在*之前的空
在文本文件中搜索带有标点符号的下划线-- [.?!;:]_ --我想逆转它们的顺序。
例如,给定行
On this _line,_ I show an example. !_
我希望将其改为:
On this _line_, I show an example. _!
我可以找到所有的案例,比如说,银搜索者或瑞普:
rg '[.?!;:]_' myfile.txt
但是我不确定这两个字符是如何被就地交换和写入的,或者写成一个新的文件。
我可以只对每个标点符号实例使用sed,例如:
sed -ie 's/,_/_,/g' myfile.txt
然后
sed -ie
我有一个字符串,比方说:
<lic><ic>This is a string</ic>, welcome to my blog.</lic>
我想使用sed去掉<ic>和</ic>标记,以及文字标记<lic>和</lic>
完成此操作的最快方法是什么?我对sed很陌生。在awk中如何做到这一点呢?我知道awk对于列式文本要好得多,所以我更倾向于学习如何使用sed。
任何帮助都会被感谢,提前谢谢!
我有一个包含大量文本的文件,但我只想打印开头包含"@“的单词。例如:
My name is @Laura and I live in @London. Name=@Laura. City=@London
我如何打印以@开头的所有单词?我做了以下操作,它成功了,但我想使用sed来完成它。我试过几个拍子,但我什么也不能打印出来。
grep -o -E "@\w+" file.txt
谢谢
我有一个单词列表,比如
one
two
three
在notepad++中,如何立即将单词转换为如下字符串:
<a href="function("one");"> one </a>
<a href="function("two");"> two </a>
<a href="function("three");"> three </a>
我正在大量编辑一些标记文件,以符合mkdocs语法(材料主题)。
我以前的文档软件在代码库中接受了大胆的代码,但现在我发现它远远不是标准的。
在这个文档中,我有超过10k个代码块,嵌套目录中有超过300个md文件,其中大多数都有**来粗体一些单词。
准确地说,我应该根据这一点做出任何CodeBlock:
this is a **code block** with some commands
```my_lexer
启用
配置终端
接口g0/0
到这个
this is a **code block** with some commands
```my_lexer
启用
配置终端
接口g0/
这是我的第一个问题,如果这个问题已经被回答的话,我很抱歉。我已经找过了,但找不到我要找的东西。
我有大量的文本已经从数据库中导出。对于某些属性内容,我需要找到空格的每个实例,后面跟着大写字母,然后用分号(;)替换空格。
例如:
First one Second one Third one Fourth one
应成为:
First one;Second one;Third one;Fourth one
使用Unix (Mac ),以下内容只返回整行:
echo "First one Second one Third one Fourth one" | grep ' [A
cat fxmgr/wrapperwin32.xml | sed '//d‘| sed '//d’> cleaned.xml
这将从xml文件中删除注释,但我想用空行替换注释,因为我不想干扰其他代码行号。
例如:
line one
xml comment
xml comment
line four
输出:
line one
line four
假设2和3在代码中有xml注释。我们只需删除这些行,并保留空行。我不能添加确切的xml注释,here.So希望上面的示例能够澄清它。
评论中提供的真实示例:
1 <?xml version="1.0" enc