Gil*_*Gil 1 bash shell awk sed
如果找到匹配,我可以使用sed
或awk
附加到上一行吗?
我有一个文件格式:
INT32
FSHL (const TP Buffer)
{
INT32
FSHL_lm (const TP Buffer)
{ WORD32 ugo = 0; ...
Run Code Online (Sandbox Code Playgroud)
我要做的是扫描独立的开括号{
并将其附加到前一个非空白行.对于由同一行中的任何内容追加的开括号,不应该发生匹配.
预期产量:
INT32
FSHL (const TP Buffer){
INT32
FSHL_lm (const TP Buffer)
{ WORD32 ugo = 0; ...
Run Code Online (Sandbox Code Playgroud)
谢谢你的回复.
这可能适合你(GNU sed):
sed '$!N;s/\n\s*{\s*$/{/;P;D' file
Run Code Online (Sandbox Code Playgroud)
说明:
$!N
除非最后一行将下一行附加到模式空间.s/\n\s*{\s*$/{/
替换一个换行符后面跟着没有或任何数量的空格,然后是一个开口的花括号,后面跟着没有或任何数量的空白区域到一个开头的花括号.P
打印到包括第一个换行符.D
删除最多并包括第一个换行符(如果是这样,不要开始新的循环). 归档时间: |
|
查看次数: |
2894 次 |
最近记录: |