Bee*_*ope 3 regex unix bash sed
我想用一些相同数量的其他字符替换文件每一行的前导空格或制表符(为简单起见,我们使用_).
例如
foo bar
foo bar
line 3
Run Code Online (Sandbox Code Playgroud)
变
foo bar
_foo bar
__line 3
Run Code Online (Sandbox Code Playgroud)
请注意,非领先的whitepsace不会受到影响,否则这将很容易!我怀疑它仍然很容易,但我错过了这个伎俩.
这对你有用:
sed ':a;s/^\([[:space:]]*\)[[:space:]]/\1_/;ta' file
Run Code Online (Sandbox Code Playgroud)
$ sed ':a;s/^\([[:space:]]*\)[[:space:]]/\1_/;ta' <<<$'foo bar\n foo bar\n\t\tline 3\n _ x'
foo bar
_foo bar
__line 3
__ x
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3253 次 |
最近记录: |