0 command-line sed text-processing
我有一个文本文件,./.
需要用0|0
.
该文件太大,无法在 Gedit 中打开并手动完成。
我可以使用sed
吗?
是的。在这种情况下,选择不同的分隔符(如 )很有用_
,这样您就不必转义斜杠:
sed 's_\./\._0|0_'
Run Code Online (Sandbox Code Playgroud)
例子:
$ cat test
./.
$ sed 's_\./\._0|0_' test
0|0
Run Code Online (Sandbox Code Playgroud)
添加
-i
就地更改文件而不是将输出打印到标准输出,-i.b
这样做并将备份保存.b
为扩展名和g
到表达式的末尾以更改每行多次出现,而不仅仅是第一个 (? 's_\./\._0|0_g'
)。s/A/B/
– 替换A
为B
,与 相同s_A_B_
,ssAsBs
或者您可以想象的任何内容:
可以使用除反斜杠或换行符以外的任何字符代替斜杠来分隔 BRE 和替换。[来源]
s/A/B/g
-取代A
的B
,做它g
lobally,所以别站首次发现后做(每行!)
\./\.
-文字串./.
,点需要被用反斜线,因为他们的一部分基本的正则表达式和其他人会采取任何字符,匹配a/a
,a/b
,///
等0|0
– 文字字符串 0|0
是的,您可以使用 sed 来做到这一点。
你需要逃脱.
并/
带着\
.
sed -i.bak 's/\.\/\./0|0/g' file
Run Code Online (Sandbox Code Playgroud)
-i.bak
将使 sed 就地编辑文件,但创建一个扩展名为 .bak 的备份文件。
末尾g
的 表示“全局”--> 替换所有出现的情况。
归档时间: |
|
查看次数: |
868 次 |
最近记录: |